概念性问题:
我通过Core Data SQLite为iPhone应用程序分层存储数据。我希望绘制AND以根据对象的整个分层排列中的每个对象的属性执行计算。绘图和计算任务都可以访问相同的属性。很简单。但是,我预计在主线程上执行绘制和计算都会导致UI响应性出现问题。使用两个MOC来访问相同的数据,但在不同的线程上听起来对我来说听起来有些愚蠢(遍历树两次,每个线程一次)。老实说,我不相信多线程会有太多帮助。
在这种特殊情况下,有人会枚举通用选项以实现合理的应用性能吗?
感谢。
答案 0 :(得分:3)
首先,在没有实际性能数据的情况下,不要做出这种类型的设计决策。您需要分析单线程和多线程方法。也就是说,使用Core Data进行多线程的最佳实践规定每个线程NSManagedObjectContext
一个,但只需NSPersistentStoreCoordinator
个{{1}}。因为行级缓存是在持久性存储协调器中完成的,所以多次遍历可能不会产生不合理的开销。