我为其CoreData使用NSConfinementConcurrency
创建了一些遗留代码,并将其用于NSPrivateQueueConcurrencyType
或NSMainQueueConcurrencyType
。
是否有任何问题或风险从NSConfinementConcurrencyType
切换到NSPrivateQueueConcurrencyType
和NSMainQueueConcurrencyType
应该注意哪些?
答案 0 :(得分:0)
NSMainQueueConcurrencyType创建一个与主调度队列相关联的上下文,从而创建主线程。您可以使用这样的上下文将其链接到在主线程上运行所需的对象,例如UI元素。
NSPrivateQueueConcurrencyType创建并管理要操作的专用调度队列。您必须使用新方法performBlock:或performBlockAndWait:。然后,上下文将在其自己的专用队列上执行传递的块。
最后,NSConfinementConcurrencyType是默认类型,只能在创建它的线程中使用。因此,在您的NSOperation中,您已经以正确的方式使用它。一个简单的说明。如果要将其用作子上下文,则需要有一个"队列上下文" (NSMainQueueConcurrencyType或NSPrivateQueueConcurrencyType)。