MagicalRecord:背景保存

时间:2014-05-19 03:39:59

标签: core-data ios7 magicalrecord-2.2

对于使用MagicalRecord与核心数据支持的sqlite数据库进行通信的iOS应用程序,通过Web服务调用保存大型json数据的方法应该是什么?

由于MagicalRecord(MR)有一个名为'rootContext'的NSManagedObjectContext,其NSPrivateQueueConcurrencyType并发类型与持久存储相关联,作为最顶层的上下文。然后是另一个名为'defaultContext'的NSManagedObjectContext,它带有一个NSMainQueueConcurrencyType类型[貌似用于处理主线程上的核心数据]。这个“默认上下文”将父NSManagedObjectContext作为“根上下文”。

我的问题是运行下载json数据[包含多个核心数据实体]的大背景需要持久保存到sqlite,我们是否应该使用NSPrivateQueueConcurrencyType创建单个上下文,其父级是rootContext或多个上下文?

应该使用什么方法,任何想法?

1 个答案:

答案 0 :(得分:0)

这取决于数据是什么 - 即。数据之间是否存在关系,这决定了数据的多个部分是否可以同时加载。您只需要一个上下文和一个后台线程,但如果数据允许,您可以使用更多,并且它可以提高性能(您需要测试和配置文件)。拥有大量的上下文不太可能有用(或实际上只是让事情变慢)。