我有一个用 Swift 编写的通用 iOS 8 应用程序,它为所有设备共享一个 Storyboard。在 iPhone 上它运行良好。但是在 iPad 上,当您尝试执行“显示详细信息”segue 时它会崩溃。具体来说,当我检查 if segue.identifier == "ShowDetail"
时,它会在我执行 prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
时尝试取消引用 nil 指针而崩溃
关于为什么会发生这种情况有什么想法吗?
最佳答案
segue.identifier 似乎是一个隐式展开的可选项,如果您尝试针对字符串测试标识符,而标识符没有名称,则会导致崩溃。
如果您有两个 segue,一个有名字而一个没有,就会发生这种情况。测试没有名字的会崩溃。
如果您为 Storyboard 中的所有转场赋予明确的标识符名称,则不应发生这种情况。
关于ios - Swift + Storyboards : segue. 标识符在 iPad 上崩溃(iPhone 正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837355/