IOS簡單的異步轉同步操作

曾遇到的問題:封裝SDK中的某個接口時需要上傳地理位置,而獲取地理位置與網(wǎng)絡請求是個異步操作,也就是說當?shù)乩砦恢媚玫降穆恍r,上傳的地理位置會為空。

解決:在網(wǎng)絡請求之前用下面方法讓線程等待

-(void)waitObject

{

? ? NSRunLoop*runLoop = [NSRunLoopcurrentRunLoop];

? ? isStart=TRUE;

? ? while(isStart==TRUE){

? ? ? ? @autoreleasepool {

? ? ? ? ? ? [runLooprunMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];

? ? ? ? }

? ? }

}

當在地理位置回調(diào)后 將isStart變量置為FALSE,退出runloop接著就可以同步執(zhí)行網(wǎng)絡請求的操作了。

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

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

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