標籤:
一、業務環境描述
當一個view同時添加兩個tableView為subView的時候,兩個tableView分別為mainTable和subTable。
當使用者點擊mainTable上的某一條資料時,再去發送網路請求subTable中的資料。
存在問題的地方:例如當使用者在mainTable上頻繁點擊各條cell上面的資料時,會出現subTable中資料錯亂問題。那麼如何取消之前的網路請求呢???
註:網路請求為非同步請求
二、解決方案 1.執行個體化一個AFHTTPRequestOperationManager對象
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];
2.調用POST方法,返回一個AFHTTPRequestOperation對象
AFHTTPRequestOperation *operation = [manager POST:urlStr parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }];
3.判斷operation對象是否已經執行個體化,如果是,就取消這個請求操作;如果否,就重新執行上面第1、2兩步。
if (subTableOperation)// 如果已經有請求了,就直接取消掉。 { [subTableOperation cancel]; } // 請求不存在,重新執行個體化一個 subTableOperation = [APITool getSubTableListData:@"test" callBack:^(NSNumber *success, id response) { // 處理網路回調資料 和 reloadData }]; [subTableOperation start];
具體代碼 : Demo_OperationOfCancel
轉自:http://blog.5ibc.net/p/88308.html
iOS開發--使用者點擊頻繁,多個非同步網路請求取消問題?