Показывать колесо прогресса во время загрузки представления и загрузки данных из Интернета - PullRequest
0 голосов
/ 17 октября 2018

Я называю представление через 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];
        });
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...