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