我有一个的NSOperation的子类,我想要做这样的事情:我是否需要Block_copy传递给NSOperation的setCompletionBlock的块:?
@interface MyOperation : NSOperation...
MyOperation *myOperation = [[MyOperation alloc] init];
[myOperation setCompletionBlock = [^{
[myOperation doSomething]; // Do something with myOperation and other classes captured from original environment
[myOperation setCompletionBlock:nil]; // Manually setting to nil avoid retain cycles;
} copy]; <- is this "copy" needed here?
所以我对这段代码的问题是标题问题:
我需要复制(Block_copy())我传递给setCompletionBlock的块:或NSOperation会为我做?
没有。由于原子操作的原因,NSOperation需要阻止将它从您的位置复制。 – CodaFi 2013-04-24 18:27:12