18

我最近开始研究核心数据,请任何人告诉我可转换数据和二进制数据之间的区别。我需要将 myClassObject 存储在核心数据中。我已经创建了属性并将其类型定义为二进制数据,但在存储时出现错误。

4

1 回答 1

28

使用二进制属性,您可以NSData直接读取和写入 的实例。

使用可转换属性,您可以读取和写入可以转换为和从NSData. 实际的数据存储与二进制属性相同,但 Core Data 在必要时使用 anNSValueTransformer进行转换NSData

例如,假设您的托管对象有一个图像属性,可以方便地UIImage直接读取和写入。除了,UIImage不能保存在 Core Data 中。但UIImage可以相互转换NSDataUIImage因此,如果您使用可转换属性,您可以在仍保留NSData在数据存储中的同时进行读写。

于 2013-01-10T18:43:08.047 回答