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();

    });

   }

posted @ 2019-04-22 21:06  kawerd  阅读(3850)  评论(0编辑  收藏  举报