我有一個的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