Core Data 中带有自定义对象的可转换集合
Posted
技术标签:
【中文标题】Core Data 中带有自定义对象的可转换集合【英文标题】:Transformable Collection in Core Data with custom Objects 【发布时间】:2012-09-06 14:11:42 【问题描述】:我必须在核心数据数据库中存储一组自定义对象(字典)。 到现在为止还挺好。字典被存储并且可以作为“可变形”对象毫无问题地加载。
自定义对象包含属性,但在从数据库加载它们后这些属性为零。 经过大量搜索,我没有找到任何关于这个问题的东西。 似乎属性没有以这种方式存储。 (可能是因为只存储地址而不存储数据??)
当然,最好存储一个支持 Core Data 的数据类型的对象,但在这种情况下,可转换的对象就很好,并且可以为我节省大量的工作和时间。
谢谢你!
【问题讨论】:
【参考方案1】:Core Data Guide 涵盖了可变形对象的整个概念。请注意,这使用键控归档器/取消归档器从您的对象创建一个 NSData 对象,反之亦然。这意味着您的客户反对我遵守 NSCoding,并在被要求时对其中的所有信息进行编码以及处理未编码。
如果您现在不这样做,这就是您的问题的根本原因。我建议您在一个自定义对象中采用 NSCoding,然后验证实际上您可以将其编码为 NSData 对象,然后从对象中取消编码并返回相同的对象。当你完成这项工作后,你就可以使用 Core Data 进行测试了。
【讨论】:
以上是关于Core Data 中带有自定义对象的可转换集合的主要内容,如果未能解决你的问题,请参考以下文章