我开发了一个iOS 5应用程序,它从一个网址提供一个饲料,并显示在一个tableview中的帖子。我有一个视图控制器,用于加载表格单元格中的帖子。这一切都完美。IOS 5显示SVProgressHUD时加载饲料在单独的线程不起作用
但是,我想使用SVProgressHUD
来显示饲料正在加载在一个单独的线程。
所以在我-(void)viewDidLoad
方法,我有以下:
- (void)viewDidLoad
{
[super viewDidLoad];
[SVProgressHUD showInView:self.view status:@"loading.." networkIndicator:YES];
dispatch_async(kBgQueue, ^{NSData* data = [NSData dataWithContentsOfURL: latestFeedURL];
[self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];});
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(foregroundRefresh:) name:UIApplicationWillEnterForegroundNotification object:nil];
self.pull = [[PullToRefreshView alloc] initWithScrollView:(UIScrollView *) self.feedTableView];
[self.pull setDelegate:self];
[self.feedTableView addSubview:self.pull];
self.title = @"Latest";
}
- (void)fetchedData:(NSData *)responseData {
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSMutableArray* latestFeed = [json objectForKey:@"posts"]; //2
self.feedUpLoads = latestFeed;
NSLog(@"objects: %@", latestFeed); //3
[self.feedTableView reloadData];
[SVProgressHUD dismiss];
}
这一切工作正常,即时得到它在后台线程加载的数据和我的表显示与所需的全部细节的职位。我遇到的问题是SVProgressHUD
根本没有显示。即使我将[SVProgressHUD showInView
行放在fetchData方法中,它仍然不显示。 (顺便说一句,我知道SVProgressHUD
代码的作品,因为我实际上可以让它显示在viewWillAppear
方法中的例子
我猜测它不工作, ?但是,如果这就是我应该在哪里把它使其显示而进料被调用,我应该在哪里删除它的情况?
任何帮助表示赞赏!在此先感谢!
实际上虚惊一场,上面的代码确实有效。问题是我很快就得到了结果,所以我没有看到加载条。在我的服务器延迟几秒钟帮助我的测试,我可以确认进度栏实际显示和正确删除。 – user1423382
请注意,您应该更新到最新版本的SVProgressHUD。 'showInView:'方法早已被弃用! – samvermette