MBProgressHud, AFnetworking и обновление данных

Я использую AFnetworking, чтобы позвонить на сервер. При загрузке я использую MBProgressHUD, чтобы показать, что данные загружаются. Пока все отлично работает. Моя проблема, когда я нажимаю кнопку "Домой", а затем перезапустить приложение. Я хотел бы, чтобы страница автоматически обновлялась, а MBProgressHUD отображал пользователю, что что-то загружается. Это я не могу сделать. Я могу загрузить данные, но не могу заставить работать часть HUD.

Во-первых, в методе viewDidLoad я добавляю это:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(applicationDidBecomeActiveNotificationAction)
                                             name:UIApplicationDidBecomeActiveNotification
                                           object:nil];

Теперь в методе applicationDidBecomeActiveNotificationAction, Я звоню [self downloadWebsites],

В методе downloadWebsites где основная часть работы выполнена: вот она:

//show the hud
MBProgressHUD* progressHUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
progressHUD.labelText = @"Loading";
progressHUD.mode = MBProgressHUDAnimationFade;

[self.list_websites getPath:[NSString stringWithFormat:@"%@?%@", @"websites", self.auth_header] parameters: nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    //download data in the success block
    //refresh the ui
    [self.tableView reloadData];
    [progressHud self.view animated:YES];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    //failure block. log the error
    NSLog([error description]);

}];

Почему это не работает? Я могу получить данные. Но я не могу заставить прогресс отображаться. Как это исправить?

1 ответ

Runloop Notification Runloop и HTTP-запрос могут не совпадать. Так что метод, который показывает прогресс HUD, возможно, не вызывается.

Другие вопросы по тегам