ios - Swift + Storyboards : segue. 标识符在 iPad 上崩溃(iPhone 正常)

标签 ios cocoa-touch swift storyboard uistoryboardsegue

我有一个用 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/

相关文章:

inheritance - 覆盖 Swift 中的存储属性

c# - iPhone 文件不持久

ios - 滚动表格 View 并单击搜索器崩溃应用程序

ios - 在 UIPickerView 出现之前加载数据

ios - 在 UIButton 中添加图像作为附件

iphone - 如何在 UITableView 上延迟加载文本?

swift - 为什么我不能使用 Swift 包管理器将 SwiftPM 用作依赖项?

ios - 在 iOS 中保存访问 token 的最佳实践

ios - NSObject 的 Getters/Setters

swift - 如何使用 swift codable 根据特定排序顺序对自定义对象进行排序