嗨,现在我有一个从JSON表中提取数据并解析数据的应用程序,加载时间有时是不可预测的。我所尝试过的我认为足够好的是放入一个带有加载指示器的视图并将其放在计时器上以在一段时间后淡出视图。这大部分时间都可以工作,但仍然有时需要比定时器加载更长的时间。我对objective-c相当新,但在删除加载视图之前,有没有办法构建我所需的waitUntilDone
?
- (void)viewDidLoad {
[super viewDidLoad];
//Let Everything Load First Time
LoadingView * spinner = [LoadingView loaderIntoView:self.view];
[NSTimer scheduledTimerWithTimeInterval:1.0
target:spinner
selector:@selector(removeSpinner)
userInfo:nil repeats:NO];
我在主视图控制器上执行的操作是引入另一个名为LoadingView的视图,然后在1秒后将其删除,这在我的视图中完全加载了其他代码。可能有一些我可以查看而不是计时器等待我的JSON。这是我在相同viewDidLoad
中的JSON//Get the High/Low Price
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
highlowBitcoinsURL];
[self performSelectorOnMainThread:@selector(fetchedhighlowData:) withObject:data waitUntilDone:YES];
});
//Get the latest price
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
latestBitcoinsURL];
[self performSelectorOnMainThread:@selector(fetchedlatestData:) withObject:data waitUntilDone:YES];
});