我想将 NSDictionary 添加到 NSManagedObject 类别类(或 NSManagedObject 类本身)中。当我这样做时,我尝试访问该属性,抛出异常。
这真的可能吗?我不能在模型中将此属性添加为瞬态,因为当然没有 NSDictionary 数据类型。
谢谢!
我想将 NSDictionary 添加到 NSManagedObject 类别类(或 NSManagedObject 类本身)中。当我这样做时,我尝试访问该属性,抛出异常。
这真的可能吗?我不能在模型中将此属性添加为瞬态,因为当然没有 NSDictionary 数据类型。
谢谢!
您没有说您当前是如何创建属性或异常是什么,但从您给出的描述来看,您应该将 Core Data 模型中的属性设置为transformable
. 将其设置为transformable
将导致在NSDictionary
您使用标准NSCoding
协议使用它时将其存档(和取消存档)。确保您放入字典中的所有内容都支持该NSCoding
协议,以便正确存档和恢复。
使用transformable
是方法。以下是关于可变形属性的更多见解。
Transformable 数据类型是一种特殊的数据类型,它允许我们基于 Objective-C 类(自定义对象)创建属性。此数据类型大量用于存储 UIImage、UIColor 等实例。由于持久化存储中存储的信息必须是 NSData 实例的形式,在使用 Transformable 数据类型时,我们需要创建 Value Transformers 来将自定义对象(Transformable 数据类型属性中的信息)转换为 NSData 的实例(在存储到持久存储之前)并在从持久存储中检索时将 NSData 的实例转换回自定义对象。