gpt4 book ai didi

ios - 如果在上下文的线程上运行,[NSManagedObjectContext performBlock] 是否同步?

转载 作者:行者123 更新时间:2023-12-01 19:13:54 24 4
gpt4 key购买 nike

假设我有一个与主线程相关的托管对象上下文,我调用 [mainContext performBlock:block]在主线程上。它会同步运行还是仍然计划并在以后运行?

最佳答案

假设您的意思是 NSMainQueueConcurrencyType (而不是 NSConfinementConcurrencyType ),调用 performBlock:表现得像 dispatch_async ,即您的块将被排队并且不会立即执行。

您可以轻松验证这一点:

NSLog(@"before block");
[self.managedObjectContext performBlock:^{
NSLog(@"in block");
}];
NSLog(@"after block");

这将打印(按该顺序):
before block
after block
in block

如果你需要同步执行一个block,你必须使用 performBlockAndWait:对于两种基于队列的并发类型。

关于ios - 如果在上下文的线程上运行,[NSManagedObjectContext performBlock] 是否同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com