2013-07-30 25 views
0

我的應用程序有很多請求,他們需要時間完成。當請求時,我按Home按鈕,然後應用程序進入後臺。我想要取消所有請求,以便在再次打開應用程序時,我可以創建新的請求。我該怎麼做?是否有任何標準的方式來做到這一點,或者我將不得不單獨取消每個服務(例如在willEnterBackground方法中)?當進入背景時取消剩餘請求

+0

使用網絡隊列來處理多個請求.. – iphonic

+4

也許是快速閱讀過的[ NSOperationQueue](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/index.html)文檔是按順序排列的。 – CodaFi

回答

2

而不是陷入管理線程的複雜性,您可以簡單地保留對所有活動NSURLConnections的引用。在applicationDidEnterBackground:取消它們:

for (NSURLConnection *connection in activeConnections) { 
    [connection cancel]; 
} 
+0

但這樣我們必須創建一個所有活動連接的參考數組,因爲我同時有幾個活動連接。 – lenhhoxung

+0

沒錯,但這是微不足道的。 – Mundi