在对UI进行更改时停止NSOperationQueue

时间:2012-03-13 04:46:36

标签: iphone objective-c ios

我有一个自定义的NSObject类(Downloader),它使用NSOperationQueue下载图像,当它下载图像时,它会更新到Main class UI。这里的问题是,当下载发生时,我无法在下载器类中取消操作。我猜主线程由NSOperationQueue回调持有,当我尝试调用canceloperations时,它只响应所有下载完成后。请为我提供一个突破......我衷心的感谢...

1 个答案:

答案 0 :(得分:0)

您可以在AppDeledate属性中执行,例如

@property (readwrite) BOOL isOperationQueueMustHold;

然后,在你的循环周期中,添加该代码:

while (delegate.isOperationQueueMustHold == YES)
{
   sleep(1);
}

当你的用户界面更新时,这将停止努力工作。