初始化程序不会覆盖指定的初始化程序Swift WatchKit

时间:2014-12-27 22:53:49

标签: ios swift watchkit

我刚刚更新了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()
}

}

2 个答案:

答案 0 :(得分:7)

使用Beta 3发布时,initWithContext现已弃用。您应该使用awakeWithContext。 WKInterfaceController类的init方法现在被指定为初始化。

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

答案 1 :(得分:2)

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