2

我刚刚更新了 Xcode 的新测试版以继续我的 WatchKit 应用程序的工作

更新所有 WatchKit 扩展文件后,我立即收到错误消息

“初始化程序不会覆盖其超类中的指定初始化程序”

在更新之前我没有收到此错误,不知道如何修复它。

有什么见解吗?

这是我的代码

class InterfaceController: WKInterfaceController {

override init(context: AnyObject?) {
    // Initialize variables here.
    super.init(context: context)

    // Configure interface objects here.
    NSLog("%@ init", self)
}

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()
    NSLog("%@ will activate", self)
}

override func didDeactivate() {
    // This method is called when watch view controller is no longer visible
    NSLog("%@ did deactivate", self)
    super.didDeactivate()
}

}
4

2 回答 2

7

在 Beta 3 版本中,initWithContext 现在已被弃用。你应该使用awakeWithContext. initWKInterfaceController 类的方法现在被指定为初始化程序。

参考: https ://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-8.2/index.html ,注释部分。

于 2014-12-28T16:26:34.447 回答
2

您只能在指定的初始化程序上调用 super,而WKInterfaceController init() 是唯一的。您可以仔细查看 awakeWithContext(_:) 方法。

于 2014-12-27T23:39:57.140 回答