我有一個這樣的簡單類。從初始化程序返回而不初始化所有存儲的屬性
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