多线程下处理Core Data操作
注意:这篇文章在写的时候,已经有更好的方法产生了。
注意:可以用线程(NSThread),GCD,或者OperationQueue 来操作。
用线程禁闭来支持并发
每个线程必须有自己的managed object context。这里有两个可能的模式。
1.每个线程创建一个managed object context,共享一个persistent store coordinator。这是推荐的模式
2.每个线程有单独的manged object context,和persistent store coordinator。
这种模式开支比较大
如果用的是OperationQueue,在main或者start方法里面创建context。
如果用了线程紧闭,不能在线程间传递managed objects或者managed object contexts。
如果让它在线程间的context创建,就会超越线程的边界。
- 通过objectID来查找object
- 执行一个fetch来找到context
这样可以在本地的context来找到本地版本的managed object。
可以用NSFetchRequest提供的方法来穿越线程更容易。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。