1、主线程中 同步/异步 调用一个block
实现:
void RCTExecuteOnMainThread(dispatch_block_t block, BOOL sync)
{
if ([NSThread isMainThread]) {
block();
} else if (sync) {
dispatch_sync(dispatch_get_main_queue(), ^{
block();
});
} else {
dispatch_async(dispatch_get_main_queue(), ^{
block();
});
}
}
调用:
RCTExecuteOnMainThread(^{ [self bindKeys]; }, NO);