在后台线程上初始化 NSManagedObjectContext 和 NSPersistentStoreCoordinator
Posted
技术标签:
【中文标题】在后台线程上初始化 NSManagedObjectContext 和 NSPersistentStoreCoordinator【英文标题】:Init NSManagedObjectContext and NSPersistentStoreCoordinator on background thread 【发布时间】:2018-12-27 11:54:18 【问题描述】:由于我遇到的崩溃,我正在尝试找到官方答案,这与此类似: nil is not a legal NSPersistentStoreCoordinator for searching for entity name 'GroupMessageInfo'
我找不到对此的官方答案/文档: 我可以 吗?还是必须在主线程上?
很想得到一些参考。 谢谢!
【问题讨论】:
【参考方案1】:如果您将NSManagedObjectContextConcurrencyType
用作NSManagedObjectContextConcurrencyType.mainQueueConcurrencyType
,则应仅在MainThread 中初始化NSManagedObjectContext
。
否则你应该使用NSManagedObjectContextConcurrencyType.privateQueueConcurrencyType
在另一个线程中初始化NSManagedObjectContext
。
更多信息请参考article。
【讨论】:
以上是关于在后台线程上初始化 NSManagedObjectContext 和 NSPersistentStoreCoordinator的主要内容,如果未能解决你的问题,请参考以下文章
Core Data,在后台线程中修改 NSManagedObject
将对 NSManagedObject 的属性的引用传递给后台线程
将 NSManagedObject(在主上下文中创建)从后台线程传递到主线程是不是安全?