這是一個關於swift中用實例變量聲明swift類的最佳實踐的基本問題,所有值將從Firebase回調中接收。什麼是這些選擇當中,最好的辦法還是讓我知道,如果有其他更好的辦法:在Swift中聲明實例變量:可選vs強制展開與初始值
解決方案1:
class User: NSObject {
var name:String = ""
override init() {
super.init()
}
}
解決方案2:
class User: NSObject {
var name:String!
override init() {
super.init()
}
}
解決方案3:
class User: NSObject {
var name:String?
override init() {
super.init()
}
}
解決方案4:
class User: NSObject {
var name:String
override init() {
super.init()
// Now I need to init name variable here
}
}
如果您不需要2階段初始化或與Obj-C交互,請不要使用'!'。如果你不需要'nil'值,不要使用可選項。這基本上都是你需要知道的。 – Sulthan