0

所以,我正在使用 NSOperationQueue 的方法,我想在操作代码中的点上进行addOperationWithBlock^{}细粒度的属性检查。isCancelled如何获取将在此块中运行的操作实例?

例如,这是我的代码片段:

[operationQueueInstance addOperationWithBlock:^{
    if (!???.isCancelled){
        NSlog(@"Instruction 1");
    }
    if (!???.isCancelled){
        NSlog(@"Instruction 2");
    }

    NSlog(@"Instruction 3");
 }];

如何获取此块将运行的操作实例,以便我可以评估isCancelled指令的属性?

TIA

4

1 回答 1

1

来自苹果文档:

您不应尝试获取对新创建的操作对象的引用或猜测其类型信息。

您可以实例化NSBlockOperation并将其分配给变量以保留显式引用。

addOperationWithBlock每当您不需要对操作对象的引用时,这似乎是一种快捷方式。

确保使用__block存储限定符标记您的块操作以避免保留循环。

于 2013-05-13T09:54:47.903 回答