IOS简单的异步转同步操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS简单的异步转同步操作相关的知识,希望对你有一定的参考价值。

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

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

-( void )waitObject



    NSRunLoop*runLoop = [NSRunLoopcurrentRunLoop];

    isStart= TRUE ;

    while (isStart== TRUE )

        @autoreleasepool

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

       

   



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

以上是关于IOS简单的异步转同步操作的主要内容,如果未能解决你的问题,请参考以下文章

关于Node.js异步转同步

实现异步转同步的几种方式

Async 异步转同步详细流程解释

使用异步操作运行同步代码

使用异步操作运行同步代码

iOS多线程——同步异步串行并行