瞭解NSURLConnection的我做一個隊列更好地NSOperationQueue
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
我的隊列發送到我的異步請求
[NSURLConnection sendAsynchronousRequest:req queue:operationQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
// ... do stuff here
});
}];
取消我的行動過早
[operationQueue cancelAllOperations];
然而,我可以看到我的異步的「完成」代碼仍在運行。這種情況怎麼會不像我預期的那樣工作?
如何從我的塊中檢查isCancelled?我沒有參考該操作,並且'self'已被這個點「取消」了,因爲當'self'被訪問時,我在我的塊中獲得了一個'EXC_BAD_ACCESS'。 – Jacksonkr
啊,是的。這是一個問題。雖然你的完成處理程序肯定會在主線程中,所以你根本不需要神? – deanWombourne
「根本不需要神」我不確定你的意思..聽起來太虔誠,對於這個convo :) – Jacksonkr