Rav*_*tam 10 iphone multithreading core-data ios
我正在使用核心数据来存储和获取我的数据,但我遇到了一些问题.我想使用两个并行线程进行以下操作:
我怎么能这样做?
我对谷歌进行了一些研究,他们说,我们需要使用多个托管对象上下文,但我不知道我们将如何使用它.
May*_*ukh 20
您不应该在多个线程上访问NSManagedObjectContext.只应在主线程上访问在AppDelegate中创建的NSManagedObjectContext.
这意味着,您应该为您创建的每个线程创建一个NSManagedObjectContext.确保将线程的NSManagedObjectContext的父上下文设置为主上下文.
示例: -
NSManagedObjectContext *mainContext; // = getMainContext
NSManagedObjectContext *threadContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
threadContext.parentContext = mainContext;
Run Code Online (Sandbox Code Playgroud)
然后在你的线程上使用threadContext ...
您可以在主线程上继续与UI相关的提取.或者,如果它也必须有其他线程,也可以为它创建一个上下文.
要深入了解Core Data并发性,请参阅教程
设置父/子上下文关系将合并线程的Context与主上下文(它的父上下文).
要了解父/子上下文关系,请检查此URL
或者只是在这个图表下 -
对文章网址的信用...
归档时间: |
|
查看次数: |
8876 次 |
最近记录: |