在AFNetworking成功调用后self.tableView reloadData不工作

我有一个运行类似于本教程的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]在一个单独的函数,它工作得很好。 为什么会发生这种情况,而不是如何在教程中?

写下[self.tableView reloadData]; 在主队列中。

 dispatch_sync(dispatch_get_main_queue(), ^{ [self.tableView reloadData]; }); 

总是重新加载主队列:

 dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView reloadData]; });