0
我有一個for循環,它發送多個ASIHTTPRequests:ASIHTTPRequest - 取消多個請求的最佳做法?
for (int i = 0; i < 10; i++) {
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
}
安全地處理委託被釋放前的請求完成後,我想取消這些請求;我怎麼能做到這一點?將所有請求存儲在NSMutableArray中?或者我可以使用隊列來實現嗎?非常感謝你的幫助!
斯特凡
看起來不錯;這是否意味着我不需要使用該請求作爲ivar並將代碼放入dealloc方法中? – swalkner
是的,可能 - 但要小心。您可能想在viewDidDisappear中執行此操作,因爲可能會在另一個視圖啓動新的http請求後調用dealloc。一個ivar或每個視圖控制器的隊列可以有很大的意義,但是這些只是你可以做出的架構決策(在你的問題中沒有足夠的細節來建議這是你的應用的正確/最佳方法)。 – JosephH
我知道,我的問題很一般;但我認爲你幫了我很多;不過我把它放在我的dealloc中;可能我在請求中設置了userInfo-dictionary,所以我只取消屬於那個viewcontroller的請求。謝謝! – swalkner