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