0

如何取消正在进行的 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
        }
    }];
4

1 回答 1

2

您不取消performBlockAndWait,没有对此的 API 支持。

调用将一直运行,直到您提供的块完成。如果您出于某种原因需要提前退出,则需要检查块内的标志并在标志表示该退出时停止工作。你不能从外面强迫它停下来;你需要完成并从内部退出。如果这不适用于您当前对 的调用performBlockAndWait,您可以重构该代码以使其成为可能,或者适应当前情况。

于 2013-10-08T15:58:06.270 回答