我正在开发一个 IOS 5 应用程序,它从 url 获取提要并在 tableview 中显示帖子。我有一个视图控制器,可以加载带有提要中帖子的表格单元格。这一切都完美无缺。
但是,我想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
方法中显示。
我猜它不起作用,因为在我调用它的时候,视图还没有完全存在?但如果是这种情况,我应该在哪里调用它,以便在调用提要时显示它,我应该在哪里删除它?
任何帮助表示赞赏!提前致谢!!