self.tableView reloadData no funciona después de una llamada exitosa en AFNetworking

Tengo una class que funciona similar al componente AFHTTPSessionManager de este tutorial http://www.raywenderlich.com/59255/afnetworking-2-0-tutorial

Sin embargo, [self.tableView reloadData] no funciona para mí.

Tengo el administrador implementado como tal:

-(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]; } } .... } 

Sin embargo, si ejecuto [self.tableView reloadData] en una function separada después, funciona bien. ¿Por qué sucede esto, en lugar de cómo debería hacerlo en el tutorial?

escribe el [self.tableView reloadData]; en la queue principal

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

Vuelva a cargar siempre en la queue principal:

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