IOS 學(xué)習(xí)筆記--單個(gè)頁面多次請求-排隊(duì)處理

業(yè)務(wù)需求:一個(gè)頁面加載2次請求,保證兩次請求完成后,在頁面加載數(shù)據(jù)。

參考:主要參考方法

_group = dispatch_group_create();
_semaphore = dispatch_semaphore_create(0); 
dispatch_queue_t queue=dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL);

   for(intj=0; j<2; j++) {

       dispatch_group_async(_group, queue, ^{

           if(j==0){

                 [_KYNetgetmanuGateways:@(1):@(1000):[NSNumbernumberWithLong:coor.latitude]:[NSNumbernumberWithLong:coor.longitude]];

           }else{

               NSDictionary *param = @{@"pageIdx":@(1), @"limit":@(1000),@"sensorType":@(-1),@"status":@(-1),@"areaIDJSONArray":@"[\"aaa\"]"};

                  [_KYNetgetSuperSNList:param :nil];

           }

//            dispatch_semaphore_wait(_semaphore, DISPATCH_TIME_FOREVER);

       });

   }

   dispatch_group_notify(_group, queue, ^{

       dispatch_semaphore_wait(_semaphore, DISPATCH_TIME_FOREVER);

       dispatch_semaphore_wait(_semaphore, DISPATCH_TIME_FOREVER);

       //所有請求返回?cái)?shù)據(jù)后執(zhí)行

       dispatch_async(dispatch_get_main_queue(), ^{

            [self refresh];

       });

   });

注意: 是為了在主線程進(jìn)行數(shù)據(jù)加載

dispatch_async(dispatch_get_main_queue(), ^{

             [self refresh];

        });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容