iOS開發--使用者點擊頻繁,多個非同步網路請求取消問題?

來源:互聯網
上載者:User

標籤:

一、業務環境描述

當一個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開發--使用者點擊頻繁,多個非同步網路請求取消問題?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.