我看到有人在创建NSPersistentStoreCoordinator
时添加此行代码:
assert([NSThread isMainThread] == YES); // Create it only on the main thread
如果我不在主线程和差异上创建它会有人告诉我会发生什么。
谢谢!
答案 0 :(得分:0)
此文本摘自Apple's doc.
使用线程限制来支持并发
建议使用Core Data进行并发编程的模式是线程限制:每个线程必须拥有自己的完全私有的托管对象上下文。
采用这种模式有两种可能的方法:
为每个线程创建单独的托管对象上下文,并共享一个持久性存储协调器。 这是通常推荐的方法。
为每个线程创建单独的托管对象上下文和持久性存储协调器。 这种方法以更高的复杂性为代价提供更高的并发性(特别是如果您需要在不同的上下文之间进行通信)并增加内存使用量。