我是做在一个单独的线程一切才刚刚开始移动到异步调用,所以我有点糊涂了。
我想这样的观点来加载,无论是与一个空表或没有表都没有。 该MBProgressHUD应该显示而异步调用获取数据。 然后,当数据被发现HUD消失和表刷新。
我现在拥有的是一切正常,除了HUD显示空桌子底下。 这里是最相关的代码。
- (void)awakeFromNib
{
[super awakeFromNib];
[MBProgressHUD showHUDAddedTo:self.tableView animated:YES];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
self.dataController = [[StudyController alloc] initWithCredentials:email password:password];
dispatch_sync(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.tableView animated:YES];
[self.tableView reloadData];
});
});
}
基本上发生了什么,我想,是异步调用运行时调用后我所有的代码被渲染表正常运行一次,并显示在HUD上的顶空表,然后当我再次告诉它reloadData 。 我如何得到它不运行第一次?
谢谢。