在视图控制器之间进行 segue 时出现致命错误
Posted
技术标签:
【中文标题】在视图控制器之间进行 segue 时出现致命错误【英文标题】:Fatal error while doing segue between viewcontrollers 【发布时间】:2015-06-06 13:49:57 【问题描述】:我在从一个视图控制器进行转场时遇到致命错误。
magicNumber 是整数变量 MagicNo 是第二个视图控制器中的标签
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)
if segue.identifier == "start"
var secondScreen = segue.destinationViewController as! SecondViewController
secondScreen.magicNo.text = String(magicNumber)
错误就在下面这一行
错误是:
致命错误:在展开可选值时意外发现 nil
secondScreen.magicNo.text = String(magicNumber)
【问题讨论】:
这个问题肯定是重复的。您无法分配到目标视图控制器中的插座,因为它们尚未设置。将您的字符串放入目标视图控制器中的属性变量中,然后将其移动到viewDidLoad
中的标签中。
fatal error when prepared to segue to view controller的可能重复
这里没有足够的代码来诊断这个问题。 magicNumber
是 nil
,或者 magicNo
是 nil
。这些都没有在提供的代码中设置或定义。
【参考方案1】:
secondScreen
是否嵌入在 UINavigationController 中?如果是这样,您将不得不这样做:
let secondScreen = (segue.destinationViewController as? UINavigationController)?.viewControllers[0] as? SecondViewController?
【讨论】:
以上是关于在视图控制器之间进行 segue 时出现致命错误的主要内容,如果未能解决你的问题,请参考以下文章
segueing时出现核心数据错误:无法在NSManagedObject类上调用指定的初始值设定项