我刚刚安装XCode6β-7,我现在看到的我PrepareForSegue方法之一访问异常 - (被称为当一个模态Segue公司即将放松)xcode6β7的prepareForSegue抛出EXC_BAD_ACCESS
有问题的代码看起来是这样的:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
我试图使SEGUE参数可选,但至于斯威夫特而言,segue
不是零,所以即使像下面的一张支票,我也有同样的故障.. 。
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
if (segue != nil)
if (segue!.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
}
应用程序中的所有其他应用程序似乎都能正常工作,但这一切都失败了 - 而且这种情况似乎只发生在展开的情况下。其他人遇到过这个?
编辑/解决方法
一个简单的解决方法是避免使用unwindSegue方法和简单的调用dismissViewControllerAnimated
,但我仍然希望知道为什么unwindSegue方法在这种情况下失败...
非常感谢!
只是一个念头:升级到Beta 7后,你有没有清理你的生成文件夹? – zisoft 2014-09-05 08:37:10
嗯..没有运气与清洁。 (不过很好的提醒 - 这让我知道了一些过去的betas :)) – Nash 2014-09-05 08:45:03
我有一个与segue类似的问题。试试这个:对于界面构建器中的每一个阶段,你都有*没有标识符,键入内容,删除它,然后点击返回。然后重建并再次尝试。我有一个没有标识符的segue,我在之前的测试版中添加了这个标识符,而这正是导致问题的原因。通过强制它在最新的Xcode中重新设置为no * *,我想我改变了xib中需要与最新测试版中的某些运行时代码完全匹配的内容。 – 2014-09-05 13:28:46