我在下面的格式已经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 ?.但我通常更喜欢使用“如果让”和“警惕”,它将提供安全且无崩溃的代码。 –