在我的viewController的viewDidLoad方法中,我写了这样的东西:
- (void)viewDidLoad {
[super viewDidLoad];
self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
self.hud.labelText = @"Loading";
[serverData loadNewsData:self ];
}
基本上我展示了HUD并在另一个类上启动方法loadNewsData,传递了viewController。
另一类中的方法是这样的:
-(void)loadNewsData:(LoadViewController*) loadViewController
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:[siteAddress stringByAppendingString:getNewsList] parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
loadViewController.hud.detailsLabelText = @"updating news";
[NewsModel setNewsData:responseObject];
loadViewController.hud.detailsLabelText = @"Finished";
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
当AFHTTPRequestOperation的请求开始时,我希望在“更新新闻”中看到HUD中的子菜单更改。但没有任何反应。我只是看到在完成过程结束时完成。请求需要10秒,所以我期待看到“更新新闻”,但没有。 我也试着这个:
dispatch_async(dispatch_get_main_queue(), ^{
loadViewController.hud.detailsLabelText = @"updating news"; });
认为我必须在UI队列中更新一些UI内容,但它也不起作用。 我是新手,可能我想念一些东西。
感谢任何好的建议。
答案 0 :(得分:1)
尝试在启动GET请求之前移动loadViewController.hud.detailsLabelText = @"updating news";
。如果你把它保留在成功块中,你就不会看到文字。
答案 1 :(得分:0)
此链接可以帮助您... NSURLConnection
它描述了要使用的NSURLConnection委托方法以及如何将其用于您的确切情况。我知道这不是AFNetworking解决方案,但如果您仍在寻找AFNetworking解决方案,请查看此方法{ {1}}。
希望这能让你走上正轨。