Ios 属性未在super.init初始化

Ios 属性未在super.init初始化,ios,swift,Ios,Swift,我有一个简单的swift课程: class School: NSObject { var myData: NSData var timestamp: NSDate var id: Int override init() { //ERROR: Property 'self.myData' not initialized at super.init call super.init() } } 为什么会出现上面提到的编译器错误

我有一个简单的swift课程:

class School: NSObject {
    var myData: NSData
    var timestamp: NSDate
    var id: Int

    override init() {
        //ERROR: Property 'self.myData' not initialized at super.init call
        super.init()
    }
}

为什么会出现上面提到的编译器错误?

在链接到超级初始值设定项之前,必须初始化所有属性。否则,您将得到未初始化的内存,这在Swift中是不允许的。因此,您必须设置
myData
timestamp
id
或将它们设置为可选的。

问题:当您从另一个类继承时,应该使用super.init(),其中super init从超类调用init函数?