属性未在super.init初始化

时间:2015-09-10 19:47:29

标签: ios 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()
    }
}

为什么我收到上面提到的编译错误?

1 个答案:

答案 0 :(得分:2)

在链接到超级初始化程序之前,必须初始化所有属性。否则你最终会得到未初始化的内存,这在Swift中是不允许的。因此,您必须设置myDatatimestampid或将其设为可选。