我正在使用 ASIHTTPRequest 加载 JSON 数据。当用户触摸按钮时,我正在请求大量数据(这里我正在加载另一个将请求 JSON 数据的视图)。大约需要 15 秒。装载。一旦用户触摸按钮直到数据加载,我如何使用 UIActivityIndicatiorView。
任何人之前都这样做过或有任何提高用户性能的建议吗?
我正在使用 ASIHTTPRequest 加载 JSON 数据。当用户触摸按钮时,我正在请求大量数据(这里我正在加载另一个将请求 JSON 数据的视图)。大约需要 15 秒。装载。一旦用户触摸按钮直到数据加载,我如何使用 UIActivityIndicatiorView。
任何人之前都这样做过或有任何提高用户性能的建议吗?
-(void) startRequest:(NSString*)username password:(NSString*)password
{
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:mainUrl];
[request setDelegate:self];
[request setDidFailSelector:@selector(requestFailed:)];
[request startAsynchronous];
[self.addSubview:self.indicator];
[indicator startAnimating];
}
-(void) requestFinished: (ASIHTTPRequest *) request {
[self.indicator stopAnimating];
[self.indicator removeFromSuperview];
}
这是使用 ASIHTTPRequest 和 UIActivityIndicator 的示例
-(void) loadImageFromURL:(NSURL *) url withActivityIndicator:(BOOL) yesOrNo {
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
UIActivityIndicatorView *activityIndicator = nil;
if (yesOrNo == YES) {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleGray];
[activityIndicator setCenter: self.center];
[activityIndicator startAnimating];
[self addSubview: activityIndicator];
}
[request setCompletionBlock: ^{
self.image = [UIImage imageWithData: [request responseData]];
[activityIndicator removeFromSuperview];
[activityIndicator release];
}];
[request setFailedBlock: ^{
[activityIndicator removeFromSuperview];
[activityIndicator release];
}];
[request startAsynchronous];
}
@end