Swift错误:在调用 super.init 时属性未初始化
你好!我是 Swift 新手,遇到了一个无法理解的错误。我正在编写一个简单的笔记应用。我有一个基类 `Note` 和一个子类 `TaskNote`,它添加了截止日期属性。代码如下:
```swift
class Note {
var title: String
var content: String
init(title: String, content: String) {
self.title = title
self.content = content
}
}
class TaskNote: Note {
var deadline: Date
init(title: String, content: String, deadline: Date) {
self.deadline = deadline
super.init(title: title, content: content)
}
}
```
编译时 Xcode 报错:"Property 'self.deadline' not initialized at super.init call"。我以为应该先给新属性赋值,再调用父类初始化器。但编译器却提示相反。为什么会这样?在 Objective-C 中可不是这样的。
我尝试了不同方法:改变代码顺序,尝试将 `deadline` 设为可选类型...