利用runloop的特性
BOOL _reloadFinished = NO;
[tableView reload]; //这里会自动设置tableView layoutIfNeeded为YES,意味着将会在runloop结束时重绘tableView,并将重绘任务提交到主队列
dispatch_async(dispatch_get_main_queue(),^{
_reloadFinished = YES;//由于mainQueue是串行的,执行到这里说明上一个提交到mainQueue的task已经完成了(即tableView重绘)
});
BOOL _reloadFinished = NO;
[tableView reload]; //这里会自动设置tableView layoutIfNeeded为YES,意味着将会在runloop结束时重绘tableView,并将重绘任务提交到主队列
dispatch_async(dispatch_get_main_queue(),^{
_reloadFinished = YES;//由于mainQueue是串行的,执行到这里说明上一个提交到mainQueue的task已经完成了(即tableView重绘)
});