美文网首页
IOS简单的异步转同步操作

IOS简单的异步转同步操作

作者: 唯咚特淘克安尼冒 | 来源:发表于2019-08-08 17:59 被阅读0次

    曾遇到的问题:封装SDK中的某个接口时需要上传地理位置,而获取地理位置与网络请求是个异步操作,也就是说当地理位置拿到的慢一些时,上传的地理位置会为空。

    解决:在网络请求之前用下面方法让线程等待

    -(void)waitObject

    {

        NSRunLoop*runLoop = [NSRunLoopcurrentRunLoop];

        isStart=TRUE;

        while(isStart==TRUE){

            @autoreleasepool {

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

            }

        }

    }

    当在地理位置回调后 将isStart变量置为FALSE,退出runloop接着就可以同步执行网络请求的操作了。

    相关文章

      网友评论

          本文标题:IOS简单的异步转同步操作

          本文链接:https://www.haomeiwen.com/subject/guulbqtx.html