Я называю представление через Segue.Источник данных таблицы представления передается из родительского контроллера представления с помощью setFlights.Я хочу запустить это обновление источника данных таблицы в фоновом режиме и показать на переднем плане вращающееся колесо.Однако я не могу заставить его работать ... без асинхронного блока я правильно загружаю данные таблицы, но представление блокируется, и вращающееся колесо не отображается.Как показано в этом фрагменте кода, я не получаю ни вращающегося колеса, ни таблицы.Что я делаю не так?
- (void)setFlights:(NSArray *)flights
{
[ProgressHudView show];
//SET LABEL
[ProgressHudView setText:NSLocalizedString(@"DOWNLOADING FLIGHT NUMBERS", nil)];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
_flights = flights;
_flightInfoForFlight = nil;
NSMutableArray *tempMutableFlightInfoArray = [[NSMutableArray alloc]init];
NSString *airline = nil;
NSString *flightNumber = nil;
for(NSString *flight in flights){
airline = [FMOAuthManager getATCAirlineCodeFromFlightEvent:flight];
flightNumber = [FMOAuthManager getFlightNumberFromFlightEvent:flight];
NSLog(@"Get flight status for airline: %@, FlightNumber: %@", airline, flightNumber);
if([FMOAuthManager canDisplayLiveTimesForAirlineCode: airline]){
NSArray *flightStatus = [[FMOAuthManager sharedManager] getFlightStatusSynchronouslyForAirline:airline andFlightNumber:flightNumber onDate:[NSDate date]];
for(NSDictionary *flightData in flightStatus){
[tempMutableFlightInfoArray addObject:flightData];
}
}
}
_flightInfoForFlight = [tempMutableFlightInfoArray copy];
dispatch_async(dispatch_get_main_queue(), ^{
[ProgressHudView hide];
});
});
}