当我的应用程序启动时,我加载了一个 JSON。
MBProgressHUD 在数据加载时正确显示微调器。
我还有一个刷新按钮,可以触发重新加载 JSON - 我希望它显示微调器。尽管数据已刷新,但微调器未显示。
知道我做错了什么吗?
这是我的 ViewController.m 中的相关代码
- (void)viewDidLoad
{
[super viewDidLoad];
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[self fetchPosts];
}
- (IBAction)refresh:(id)sender {
[MBProgressHUD showHUDAddedTo:self.view animated:YES]; // NOT WORKING
[self refreshPosts];
}
- (void)fetchPosts
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString: @"http://mysite.com/app/"]];
NSError* error;
posts = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
});
}
- (void)refreshPosts
{
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString: @"http://mysite.com/app/"]];
NSError* error;
posts = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
}