我有一个“master”viewController
和一个“detail”viewController
:在master中,当我从服务器接收数据时,我必须打开详细的viewController(任何东西都在{{ 1}})。
所以,我有一个故事板,主场景与segue没有“相关”细节:细节有自己的Swift类和ID,所以在我收到数据后得到的主代码是:
navigationController
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("detail") as! DetailViewController
(viewController as! DetailViewController).detailItem = dataToPass
self.navigationController!.pushViewController(viewController, animated: true)
是一个DetailViewController变量,以这种方式声明:
detailItem
会发生什么:当我收到数据var detailItem: AnyObject? {
didSet {
print("variable set")
// configuration code (...)
}
}
时会很快激发但是详细信息视图需要永久加载和打开(如果我创建一个简单的按钮并使用segue打开它并且没有{{1 }})。
我做错了什么?
更新:即使我删除了详细信息中包含的任何代码,也会发生这种情况。
我不知道这是否有任何帮助,但是当最终细节在控制台中打开时,我读到“此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和奇怪的崩溃。将在未来的版本中引起异常“。我真的不知道我是如何修改autolayout引擎的