【发布时间】:2013-05-15 18:03:38
【问题描述】:
我有一堆 NSOperations 需要在队列中运行时创建和获取实体。
在 NSOperations 中创建实体时,我可以简单地使用默认上下文创建,还是因为我在一个新线程中而不是在主线程上,这是不允许/建议的吗?如果我在这个线程上创建一个新实体,那么将它合并回默认上下文的最佳方法是什么(而不是保存到商店)?
在这些线程上获取时,我需要获取然后更新该实体中的数据。我不知道如何执行此操作,然后合并到默认上下文。
或者在保存时获取/创建什么线程真的无关紧要吗?
我说上面的默认上下文是因为我有 NSFetchedResultsControllers 监视默认上下文以进行更新和插入。目前,我的解决方案正在主线程上完成所有这些工作,但是应用程序现在开始爬取正在运行的大量数据。
我还有一个类监控(通过 KVO)操作队列计数。一旦它变为零,我就会进行保存。我宁愿只在上述所有 NSOperations 像我目前正在做的那样执行完之后才保存。谢谢你的帮助。
【问题讨论】:
标签: ios core-data nsmanagedobjectcontext nsoperation magicalrecord