iOS开发之GCD同步主线程、异步主线程

/** 在主线程执行block */

+ (void)gs_synExecuteOnMainThread:(void (^)(void))block {

    if ((nil == block) || (NULL == block)) {

        return;

    }

    if ([NSThread isMainThread]) {

        block();

    }else {

        dispatch_sync(dispatch_get_main_queue(), ^{

            block();

        });

    }

}

 

/** 在异步主线程执行block */

+ (void)gs_asynExecuteOnMainThread:(void (^)(void))block {

    if ((nil == block) || (NULL == block)) {

        return;

    }

    dispatch_async(dispatch_get_main_queue(), ^{

        block();

    });

   }

iOS开发之GCD同步主线程、异步主线程

上一篇:session和application内置对象


下一篇:fastclick无需对IOS11及以上做处理