首页 > 代码库 > 多线程下处理Core Data操作
多线程下处理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提供的方法来穿越线程更容易。
多线程下处理Core Data操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。