我使用CoreData并尝试发出异步提取请求。
请向我解释,在这种情况下为什么要使用“ performBlock”方法

[managedObjectcontext performBlock:^{
    [managedObjectcontext executeRequest:asyncFetch error:&err];
}];


如果那样有效吗?

[managedObjectcontext executeRequest:asyncFetch error:&err];


将第一个与“ performBlock”一起使用有什么好处?

最佳答案

无论MOC是使用NSPrivateQueueConcurrencyType还是NSM​​ainQueueConcurrencyType初始化的,方法performBlock:和performBlockAndWait:都用于向您的NSManagedObjectContext发送消息。如果对这些上下文类型之一执行任何操作,则将在一个块中执行。

performBlock:将块添加到后备队列,并安排它在其自己的线程上运行。您可以将其用于长时间持久操作,因为此块将立即返回

performBlockAndWait:还将块添加到后备队列并安排其在其自己的线程上运行。但是,直到该块执行完毕,该块才会返回,因此,这是一个阻塞调用。

关于ios - 什么时候应该使用“performBlock”方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38743095/

10-13 03:49