1
我现在有在一个对的keyPath“isCancelled”进行观察的的NSOperation下面的代码:取消的NSData initWithContentsOfURL中的NSOperation
downloaded = FALSE;
NSURL *url = [NSURL URLWithString:requestString];
dataXML = [[NSData alloc] initWithContentsOfURL:url];
downloaded = TRUE;
我想让它,以便observeValueForKeyPath功能能够取消dataXML一旦NSOperation发送取消消息,继续或完全停止NSOperation。 NSOperation的取消操作取消只会通知操作它应该停止,但不会强制我的操作的代码停止。
这很有道理,但是一旦下载完成,没有什么能够阻止您从成功块内部单独执行XML操作。我的意思是你不应该在你的NSOperatiom中自己做请求,因为从另一个线程中产生一个线程只是浪费资源。虽然如果你愿意,可以像日志一样为每个NSOperation创建一个新的RequestQueue实例,因为mainQueue共享实例不是线程安全的。 – 2012-02-02 18:31:11
谢谢!!!!你的代码真的帮了我很大的忙:我有TIFF的尺寸接近500MB(老实说),现在我可以取消错误启动的加载!辉煌。 – Todd 2012-11-26 22:31:47