我想将一个 ManagedObjectContext
用于主线程,另一个使用 NSOperation
为后台线程单独使用,正如 Apple 所建议的那样。而且,每个 ManagedObjectContext
共享同一个持久存储。
获取可能发生在主线程上,因为我使用核心数据来填充 TableView 。
在后台,我需要访问存储图像名称的 NSManagedObject
属性。然后,后台线程会创建并缓存这些图片,这就是有后台线程的主要原因。
鉴于此,如果两个线程都试图访问持久存储,是否存在任何危险(如锁定),因为它们可能同时从中获取数据?
最佳答案
每个线程都需要自己的托管对象上下文,但所有线程都需要共享一个持久存储协调器 - 这将处理您描述的潜在问题。请参阅 Core Data Concurrency Programming Guide 中的更多信息.
关于iphone - 在 Core Data 的后台线程上使用获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610821/