比方說,我有一個叫人等級:如何在創建類對象時處理缺失值?
class Person: NSObject {
let name:String
let gender:String
let age:Int
init(name: String, gender: String, age: Int) {
self.name = name
self.gender = gender
self.age = age
}
class func createPerson(person:[String:AnyObject]) -> Person {
let name = person["name"] as? String
let gender = person["gender"] as? String
let age = person["age"] as? Int
return Person(name: name!, gender: gender!, age: age!)
}
}
我檢索一個JSON終點,我想轉換爲類「人」的對象的數據。我使用類函數「createPerson」來做到這一點。
處理URL端點缺少值的情況的最佳方式是什麼?
至於我的代碼目前維持,這條線將如果值之一是缺少程序崩潰:
return Person(name: name!, gender: gender!, age: age!)
我知道這是因爲我力展開的變量,但我應該怎麼構建我的代碼說明變量值可能丟失的事實?
我應該聲明一切爲可選嗎?
let name:String?
let gender:String?
let age:Int?
init(name: String?, gender:String?, age:Int?) {
self.name = name
self.gender = gender
self.age = age
}
建議表示讚賞。謝謝!
喲你可以使用使用ObjectMapper,並且無需聲明爲可選 – Byte