2011-01-30 63 views
2

在我的iPhone/iPad應用某些ASIHTTPRequests我處理所有的網絡和網絡API,請求通過「APIManager」(單身,在AppDelegate中創建)。取消一個(或幾個)在ASINetworkQueue

目前APIManager僅包含一個單ASINetworkQueue,向其中APIRequests(ASIHTTPRequest的子類)被加入並執行。在每個USERINFO APIRequest一些附加信息來處理被加到該請求(如響應是否應被解析成核心數據 - 如果有的話,哪一個實體 - 或沒有)。

當用戶從一個視圖(ViewA)移動到另一個視圖(ViewX)時,我希望可以取消ViewA請求APIManager執行的所有請求,同時讓其他人繼續。

有一些功能來找到一個ASINetworkQueue(或NSOperationQueue)有一定要求,發送取消消息呢?也許使用添加到請求的userInfo中的參數?

在此先感謝!

回答

3

[queue operations]將返回隊列中的項目,然後你就可以遍歷並呼籲「取消」在任何你喜歡的一個NSArray。

喜歡的東西:

for (ASIHTTPRequest *req in [queue operations]) 
{ 
    if (shouldCancel(req)) 
     [req cancel]; 
} 
+0

正是我一直在尋找!我今天晚些時候會試用,謝謝! – 2011-01-30 14:15:05

相關問題