我使用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]);
}];
为什么这不起作用?我可以得到数据。但是我无法获得进展的显示。我该如何解决这个问题?
答案 0 :(得分:0)
Notification Runloop和HTTP请求runloop可能不一样。因此,显示进度HUD的方法可能不会被调用。