在我的应用中,我使用了一个可以执行创建新数据和更新数据的ViewController。
数据传递到此目标ViewController但我在if data != nil
override func viewDidAppear(animated: Bool) {
if data != nil {
self.navigationController!.navigationBar.topItem!.title = "Edit ...";
} else {
self.navigationController!.navigationBar.topItem!.title = "New ...";
}
...
}
它说Thread 1: EXE_BAD_INSTRUCTION (code=...)
以及控制台中的以下内容。
2016-03-15 01:25:16.526 Project[2508:130565] <UIView: 0x7fccfd814c70; frame = (0 0; 375 667); autoresize = W+H; layer = <CALayer: 0x7fccfd814de0>>'s window is not equal to <Project.CreateRecipeVC: 0x7fccfb67b5d0>'s view's window!
fatal error: unexpectedly found nil while unwrapping an Optional value
我认为导航栏对其窗口视图或其他东西感到困惑。 在模拟器中,导航栏未显示在更新页面上。
如何让导航栏同时用于创建和更新?
答案 0 :(得分:1)
首先,你不应该使用Application.CutCopyMode=False
解决方案是您使用if data != nil
来获得更好的实践。
这样的事情将修复找到的无错误
if let
同样适用于if let result = data {
} else {
}
,您应该测试它是否为零。
之后,检查您的连接。如果所有插座和操作都牢固连接。