我的实体中有一个应该存储多个Int的属性。 这就是API中收到的JSON的样子
{
"type": “KsCell”,
“id”: 23,
“allowedSize”: [1,2],
},
如何在xcdatamodeld中声明/存储它?
这是我可以选择的属性列表,没有数组
答案 0 :(得分:0)
Core Data中没有“本机”数组或字典类型。您可以将NSArray或NSDictionary存储为可转换属性。这将使用NSCoding将数组或字典序列化为NSData属性(并在访问时对其进行适当的反序列化)。 - src
因此,可能的解决方案可能是使用Transformable类型。
作为示例,您可以在NSManagedObject中将其声明为:
@NSManaged var allowedSizes: [NSNumber]
并从json
分配解析后的int数组myObject!.allowedSizes = allowedSizeArray //[1,2]
另一种解决方案是使用NSKeyedArchiver将您的数组转换为NSData。
let allowedSizes = NSKeyedArchiver.archivedDataWithRootObject(allowedSizeArray) // NSData