我在下面的格式已經JSON數據ManagedObject可選參數:轉換JSON在迅速
{
"AvailToDate": "2016-12-31 00:00:00.0",
"CompanyName": "Google",
"ShowroomName": "Mobile Phones",
"OwnerUserId": "OID1544234",
"PartyId": "APL026306123",
"Currency": "USD",
"ProductCount": 10,
"AvailFromDate": "2016-12-20 00:00:00.0",
"MaxPrice": 10,
"MinPrice": 1,
"ShowroomId": 11904,
"AccessStatus": "Open"
}
我能上述對象數組轉換成字典對象的數組。然後我將字典對象轉換爲核心數據實體。
這裏是我的代碼Dictionary對象轉換爲ManagedObject
let showroom = Showroom(context: bgContext)
showroom.availableFromDate = (tShowroom[kAvailFromDate] as? String)?.toDate()
showroom.minPrice = tShowroom[kMinPrice] as? Float
showroom.showroomID = tShowroom[kShowroomId] as! Int32
showroom.accessStatus = tShowroom[kAccessStatus] as? String
showroom.availableToDate = (tShowroom[kAvailToDate] as? String)?.toDate()
showroom.companyName = tShowroom[kCompanyName] as? String
showroom.showroomName = tShowroom[kShowroomName] as? String
showroom.ownerID = tShowroom[kOwnerUserId] as? String
showroom.partyID = tShowroom[kPartyId] as? String
showroom.currency = tShowroom[kCurrency] as? String
showroom.productsCount = tShowroom[kProductCount] as! Int32
showroom.maxPrice = tShowroom[kMaxPrice] as? Float
如果某些參數缺少JSON收到,我們如何能夠解析的對象。我是否必須將我的ManagedObject中的所有參數設置爲可選? 我不想爲每個參數使用「if let」或「guard」。什麼是實現它的最好方法?
如果您不想使用「if let」和「guard」,那麼您可以將每個參數聲明爲Optional ?.但我通常更喜歡使用「如果讓」和「警惕」,它將提供安全且無崩潰的代碼。 –