在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]; });