gog*_*elj 2 core-data objective-c nsmanagedobjectcontext swift
使用私有上下文触发 CoreData (CRUD) 操作与使用performBlockdispatch_async 后台队列中的主上下文触发此类操作之间有区别吗?
是否只是不应该在后台线程中使用主上下文的情况?
苹果文档的链接在这里。
您永远不应该在后台线程中使用主队列上下文。这违反了线程限制规则。
主队列上下文应该只从主队列(UI 队列/线程)或从performBlock. 如果您需要执行与 UI 无关的任务,那么您应该创建一个私有队列上下文并通过performBlock.
要确认您的 Core Data 线程正确,您可以打开-com.apple.CoreData.ConcurrencyDebug 1运行时设置。