如何取消正在进行的NSManagedObjectContext performBlockAndWait进程?无论如何要做到这一点。 如果用户被删除并且不想保存1000个条目,我想取消。
[context performBlockAndWait:^{
NSError *childError = nil;
if ([context save:&childError])
{
[context.parentContext performBlockAndWait:^{
NSError *parentError = nil;
if ([context.parentContext save:&parentError])
{
// something here
}
else
{
// error
}
}];
}
else
{
// error
}
}];
答案 0 :(得分:2)
您不会取消performBlockAndWait
,因此没有API支持。
调用将一直运行,直到您提供的块完成。如果由于某种原因需要提前退出,则需要检查块内的标志并在标志表示是时候退出时停止工作。你不能强迫它从外面停下来;你需要完成并从内部退出。如果这对您当前对performBlockAndWait
的调用不起作用,您可以重构该代码以使其可能或者与当前情况一起使用。