我有一个类与本教程的AFHTTPSessionManager组件类似的类http://www.raywenderlich.com/59255/afnetworking-2-0-tutorial
然而,[self.tableView reloadData]对我不起作用。
我让经理如此实施:
-(void) refresh{
manager = [[AFHTTPSessionManager...] iniwithBaseURL:...];
[manager Get:... parameters:... success:^(NSURLSessionDataTask *task, id responseObject){
//test success values in responseObject
if(test){
//Get table data
[self.tableView reloadData];
}
}
....
}
但是如果我之后在一个单独的函数中运行[self.tableView reloadData],它就可以了。 为什么会发生这种情况,而不是在教程中应该如何发生呢?
答案 0 :(得分:40)
始终在主队列上重新加载:
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
答案 1 :(得分:20)
将[self.tableView reloadData];
写入主队列。
dispatch_sync(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});