iOS prepareforsegue 抛出 xc_bad

标签 ios swift segue

我正在使用 prepareForSegue 方法,

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if segue.identifier == "roundSegue" {

        var selectedRound:NSManagedObject = roundList[self.tableView.indexPathForSelectedRow().row] as NSManagedObject

        let SVC: SetupVC = segue.destinationViewController as SetupVC

        SVC.course = selectedRound.valueForKey("course") as String
        SVC.existingRound = selectedRound
    }

}

但是,它在“if segue.identifier == "roundSegue"”行上抛出一个错误“Thread 1:EXC_BAD_INSTRUCTION”……有没有想过为什么会抛出这个错误?

最佳答案

您的 segue 标识符可能为 nil。如果是这种情况,您正在尝试解包一个隐式解包的可选变量 nil,这会导致崩溃。试试这个:

if let identifier = segue.identifier {
    if identifier == "roundSegue" {
        // your code here.
    }
}

关于iOS prepareforsegue 抛出 xc_bad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876665/

相关文章:

iphone - 有谁知道如何从应用程序内部更改 iPhone 设置?

ios - 来自用户的 key 类型无效,预期映射,但得到 *_User

ios - iPad 应用程序在 iOS 10 中将应用程序图标显示为启动屏幕

ios - 如何使用其命名空间(或框架名称)将 Swift 类型名称作为字符串获取

ios - 无法从像 XMLParser 这样的异步函数调用 Segue

iOS 谷歌登录失败

swift - 是否可以在字符串的插值中包含一个方法? ( swift )

ios - UITextView 字体反转回系统默认

ios - [UIBarButtonItem 转换点 :toView:]: unrecognized selector sent to instance

ios - 相同的 View Controller 加载两次