网络魔法记录和适当使用
Posted
技术标签:
【中文标题】网络魔法记录和适当使用【英文标题】:Afnetworking magical record and appropriate use 【发布时间】:2013-05-26 17:21:43 【问题描述】:我正在构建一个基于 AFNetworking 和 MagicalRecord 的新闻应用程序。 我必须使用 à 服务器执行 à 后台同步,以便 1) 检索现有类别 2) 为每个类别检索所有文章。
所以我使用了一个 nsoperationqueue,我在其中添加了我需要的所有 afnetworking 操作。 我正在创建一个调度队列并将其设置为所有 afnetworking 操作的成功队列,因此完成块不会在主线程中执行。
在同步结束时,我正在执行保存,因此所有数据都保存在 perisitent 存储中。
我遇到以下问题: 无法建立关系,因为文章和类别是在不同的线程中创建的:我总是有一个例外。 我应该何时以及如何保存我的核心数据对象? 在阅读了数千篇关于magicrecord的文章后,我完全迷失了这一点。
感谢这个精彩网站的所有 ios 大师 :)
【问题讨论】:
你考虑过RestKit吗? 我不知道这个框架,但在快速浏览后似乎我无法使用它,因为服务器端根本不是 Rest :( 发布代码示例会有所帮助 【参考方案1】:终于明白我做错了什么。
在分离的线程中使用 MagicalRecord 是重点,因为 MagicalRecord 会为不同的线程创建不同的 NSManagedContext。
在深入阅读了有关 CoreData 和多线程的 Apple 文档后,我指出,如果您可以确保不会同时影响任何对象,则可以在同一个 NSManagedContext 上完成不同线程的工作。
因此,通过使用带有专用和单个 NSManagedObjectContext 的顺序 dispatch_queue,它完成了这项工作。
希望这可以帮助其他人。
【讨论】:
以上是关于网络魔法记录和适当使用的主要内容,如果未能解决你的问题,请参考以下文章