使用核心数据实体作为内容保存NSMutableArray的状态

时间:2012-04-29 00:06:08

标签: core-data ios5 datapersistance

情景:

我从Core Data数据库中获取不同的实体对象,并将它们全部收集到一个NSMutableArray中。我没有问题按摩数组中的数据并保存回数据库。我需要在应用程序启动之间保存数组的状态。

问题: 保存数组中实体对象的描述以及它们在数组中的顺序的最佳方法是什么? (我已经尝试将数组保存到字典中,将实体对象编码为NSData。因为无法解码实体对象而无法工作。)

恢复数组并从数据库中获取实体对象的最佳方法是什么?

谢谢你们。

1 个答案:

答案 0 :(得分:0)

您有几种不同的选择。如果“数组”中对象的顺序没有太大变化,您可以添加实体“MyFavoriteEntities”或其他类似实体,并为要包含的实体提供多对有序的关系。

然后,您所做的只是加载单个MyFavoriteEntities对象,并通过该关系访问所有其他对象。

注意:目前,iCloud不支持有序关系。

替代方案(在很多情况下,首选方法)是为您的实体添加“排序”属性。保持更新对象的顺序。然后,您可以通过为“ordering”字段提供SortDescriptor来轻松获取对象。现在,您的对象将按您想要的顺序获取。