我最近开始研究核心数据,请任何人告诉我可转换数据和二进制数据之间的区别。我需要将 myClassObject 存储在核心数据中。我已经创建了属性并将其类型定义为二进制数据,但在存储时出现错误。
问问题
6662 次
1 回答
28
使用二进制属性,您可以NSData
直接读取和写入 的实例。
使用可转换属性,您可以读取和写入可以转换为和从NSData
. 实际的数据存储与二进制属性相同,但 Core Data 在必要时使用 anNSValueTransformer
进行转换NSData
。
例如,假设您的托管对象有一个图像属性,可以方便地UIImage
直接读取和写入。除了,UIImage
不能保存在 Core Data 中。但UIImage
可以相互转换NSData
。UIImage
因此,如果您使用可转换属性,您可以在仍保留NSData
在数据存储中的同时进行读写。
于 2013-01-10T18:43:08.047 回答