我正在为iOS开发一个聊天应用程序。该应用程序将允许用户创建聊天室,并与聊天室(如IRC聊天室)的成员进行聊天。
应用程序的流程是;
batchsize为20,performfetch方法在viewDidLoad中调用。问题
问题
fetchresultcontroller。发布于 2014-03-05 10:57:24
最好将数据突变和数据获取作为两个独立的任务来考虑,这样您就可以对两种任务进行优化。我高度考虑阅读这篇文章以获得更多有关此事的信息:
CoreData古鲁马库斯·扎拉向我展示了以下方法,它构建在上述父/子方法的基础上,但是添加了一个专门用于写入磁盘的附加上下文。正如前面提到的,宽松的写操作可能会在短时间内阻塞主线程,导致UI冻结。这种智能方法将写入到它自己的私有队列中,并保持UI平滑为按钮。

发布于 2014-03-05 10:43:13
您需要在后台线程上执行CoreData操作。有很多例子(这里有一个)可以实现这一点,但是我的建议是使用MagicalRecord,这使得CoreData并发操作非常容易。
发布于 2014-03-05 10:42:15
所有核心数据操作都是在主线程中完成的。
这是你的问题。只有通过NSFetchResultController的对象访问应该在主线程上。应该在具有并发子NSManagedObject的后台队列上更新NSManagedObjectContext。
https://stackoverflow.com/questions/22195212
复制相似问题