Avatar ·

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` 设为可选类型...