我有一个这样的简单类。从初始化程序返回而不初始化所有存储的属性
public class User {
let id: Int
let firstName: String
let lastName: String
let email: String?
init(id: Int, firstName: String, lastName: String) {
self.id = id
self.firstName = firstName
self.lastName = lastName
}
}
这在以前的Swift版本中编译得很好。在Swift 1.2中,我收到了以下编译错误。从初始
返回,无初始化所有存储性能
这是为什么,我该怎么解决呢?
如果使用'let'或'var',则无关紧要。您必须在初始化程序中设置它以避免编译错误。我有同样的错误,但没有使用任何'let'变量,这个错误也出现了。所以我不得不删除或设置这个变量来避免这个编译错误。 – Jurik
@Jurik在'可选'的情况下,它确实很重要,否则它就是你说的。 –
@DánielNagy你的回答措辞的方式有点误导,因为在快速阅读时,它会导致人们相信改变让var来解决错误。事实上,有两件事情是需要的:1)改变让var,2)使用可选项 – VKK