我在 iOS 中使用一些 JSON 解析,我想添加一个微调器,这很有效,但我无法停止微调器,我想了解原因。
[spinner stopAnimating]
在异步块中被调用,我相信这就是问题所在,可能是因为我无法在块中的微调器上调用该方法?我已经记录了微调器 obj,输出为:
<UIActivityIndicatorView: 0x76905f0; frame = (150 230; 20 20); layer = <CALayer: 0x768ffb0>>
也许有人可以让我理解如何在 Objective-c 中处理这种异步方法。我是一个绝对的初学者。
编码:
- (void)viewDidLoad{
[super viewDidLoad];
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.center = CGPointMake(160, 240);
[self.view addSubview:spinner];
[spinner startAnimating];
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
kLatestKivaLoansURL];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:data waitUntilDone:YES];
NSLog(@"loans: %@", spinner);
[spinner stopAnimating];
});
}