首先让我解释一下我想要归档的场景究竟是什么。
我的rootviewcontroller - > FirstViewController - > DetailViewController - > Detail2ViewController然后返回到FirstViewController,其标签由FirstViewController内的函数更新。
(假设 - >表示按下按钮)
现在我用它来调用上一个viewController:
中的函数var go = FirstViewController()
self.go.get() //get is the function that updates the textfield text.
self.presentingViewController?.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
现在我打印出我希望成为标签新文本的字符串,但是当我使用这一行时它会起作用:
self.label.text = newone // newone is the new string
我的日志崩溃了:
致命错误:在解包可选值时意外发现nil
当我第一次到达FirstViewController时,同样的功能正常工作,我也尝试使用字符串插入标签文本,如下所示:
self.label.text = "hello"
提前致谢。
编辑:
我忘了放导航控制器。
NavContr - > rootviewcontroller - > FirstViewController - > DetailViewController - > NavContr - > Detail2ViewController
答案 0 :(得分:1)
var go = FirstViewController()
。
每次创建FirstViewController()
的新实例时,都不会使用已初始化的viewController
实例。据说标签将 nil 因此您获得了fatal error
。
尝试从堆栈中获取已经初始化的对象(如果您正在使用它并且有一个)。