這取決於您想要達到的目標。你有不同的可能性。
棄人用空值
在這種情況下,你可以放棄Person
如果他們沒有有效的信息。你可以改變你的代碼:
class Person {
let name: String
let lastName: String
let address: String
}
當您收到JSON,你可以簡單地防範無效值:
guard
let name = jsonName as? String,
let lastName = jsonLastName as? String,
let address = jsonAddress as? String else { return }
保存人與可選值
在這種情況下,你可以使用你自己的可選值的類,但每次使用它們時都需要檢查它們。
class Person {
var name: String?
var lastName: String?
var address: String?
}
您可以保存與性能:
person.name = jsonName
person.lastName = jsonLastName
person.address = jsonAddress
即使jsonName
,jsonLastName
或jsonAddress
因爲你宣稱他們作爲一個可選的代碼將工作。
保存人用默認值
在這種情況下,你可以使用自己的類,你需要檢查他們可選的值,但每次使用它們的時間。
class Person {
var name: String
var lastName: String
var address: String
}
您可以保存與性能:
person.name = jsonName ?? ""
person.lastName = jsonLastName ?? ""
person.address = jsonAddress ?? ""
如果jsonName
,jsonLastName
或jsonAddress
是零,則默認值 「」 將被保存。變量不再是可選的,所以你不必檢查它們。
提供一個示例,您想如何使用它們。 – Vyacheslav