想知道如果我正确地实现以下方法,因为isCancelled
没有取消线程。 我有我缩放图像,并且当它完成缩放,这种方法被调用来更新图像。 因此,当用户提起他们的手指离开按钮,这就是所谓的。 如果他们试图再次按下该按钮在此之前完成,我叫cancelAllOperations
在队列中,但它不工作。 甚至不知道如果cancelAllOperations触发标志,或者如果我需要保持调用它得到的结果。 任何人有这个任何见解?
- (void) refreshImage
{
NSBlockOperation *operation = [[NSBlockOperation alloc] init];
__unsafe_unretained NSBlockOperation *weakOperation = operation;
[operation addExecutionBlock:
^{
UIImage *image = [[self.graphicLayer imageForSize:self.size] retain];
if (![weakOperation isCancelled])
{
[[NSOperationQueue mainQueue] addOperationWithBlock:
^{
self.image = image;
[image release];
}];
}
else
{
[image release];
return;
}
}];
[self.queue addOperation: operation];
[operation release];
}