致命错误:init(编码器:)尚未实现Xcode 7 iOS 9

时间:2015-09-21 13:48:58

标签: ios xcode swift swift2

我昨晚更新了一个Xcode 6 / iOS 8项目,似乎遇到了一些问题。其中一个是它发送了致命的错误消息并使应用程序崩溃。按下按钮时,我试图设置下一个按钮。

let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("gameViewController") 
self.presentViewController(viewController, animated: true, completion: nil)

然后在gameViewController中我有这个:

required init(coder aDecoder: NSCoder) {
    // SWIFT 2 update
    state = .OptionsVisible
    super.init(coder: aDecoder)!
    //fatalError("init(coder:) has not been implemented")
}

这似乎是抛出致命错误的地方,因为错误消息如下:

fatal error: init(coder:) has not been implemented: file /pathToApp/GameOptionsViewController.swift, line 81

在我更新到所有内容的最新版本之前,这一切似乎都运行正常,而且我不确定发生了什么变化。

1 个答案:

答案 0 :(得分:8)

像这样改写:

required init?(coder aDecoder: NSCoder) {
    state = .OptionsVisible
    super.init(coder: aDecoder)
}

注意第一行中的问号以及最后一行中没有感叹号。