如何在Core Data中保留接收到的订单中的实体?

时间:2014-03-23 03:20:40

标签: ios objective-c core-data

假设您有一个实体Post,其中的数据按以下顺序从远程服务器接收:

Post 93
Post 42 // meaning of life, heh :)
Post 53
Post 100
Post 6

以收到的顺序将此数据保存到磁盘的最佳方法是什么,以便以后在用户离线时以相同的顺序再次获取该数据?请记住,返回的帖子将不断变化,一些对象被删除等等。

2 个答案:

答案 0 :(得分:1)

有多种方法可以达到你想要的效果。

1)创建一个实体,例如PostsFromServer,添加一对多关系,例如:被称为帖子。选择要订购的关系。此订单将自动与您的邮件序列输入相同。

enter image description here

2)不使用关系,为Post实体添加idNumber属性。此idNumber表示Post的输入顺序。你有另一个名为currentIdNumber的实体,存储即将发布的Post的下一个idNumber。在将Post输入到DB之前,请读取currentIdNumber并将该值放入idNumber属性中。然后将currentIdNumber增加1.然后当你获取Post实体时,使用sortDescriptor中的idNumber来排序数组返回的顺序。

enter image description here

祝你好运

答案 1 :(得分:0)

假设您异步接收这些帖子,我建议使用线程安全队列。在每个帖子到达时将其排队,并有一个单独的线程负责处理队列。