Afnetworking魔法记录和适当的使用

时间:2013-05-26 17:21:43

标签: ios core-data afnetworking magicalrecord

我正在建立基于AFNetworking和MagicalRecord的新闻应用程序。 我喜欢用àserver执行à后台同步 1)检索现有类别 2)为每个类别检索所有文章。

所以我正在使用一个nsoperationqueue,其中我添加了我需要的所有afnetworking操作。 我正在创建一个调度队列并将其设置为所有afnetworking操作的成功队列,因此不会在主线程中执行完成块。

在同步结束时,我正在执行保存,因此所有数据都保存在perisitent商店中。

我遇到以下问题: 无法建立关系,因为文章和类别是在不同的线程中创建的:我总是有例外。 何时以及如何保存核心数据对象? 在阅读了关于魔法记录的数千篇文章后,我完全失去了这一点。

感谢所有这个精彩网站的ios大师:)

1 个答案:

答案 0 :(得分:0)

最后,我理解我做错了什么。

在分离的线程中使用MagicalRecord是因为MagicalRecord为不同的线程创建了不同的NSManagedContext。

在深入阅读CoreData和多线程上的Apple文档后,我指出如果可以确保不会同时影响任何对象,则可以在同一个NSManagedContext上完成不同线程的工作。

因此,通过使用顺序dispatch_queue,使用专用的单个NSManagedObjectContext,它完成了这项工作。

希望这可以帮助他人。