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