2012-04-10 14 views
0

ASIHTTPRequestを使用してJSONデータをロードしています。ユーザーがボタンに触れると膨大な量のデータを要求しています(ここでJSONデータを要求する別のビューをロードしています)。それは約15秒かかります。ロードする。 UIActivityIndi​​catiorViewは、データが読み込まれるまでユーザーがボタンに触れるとどのように使用できますか?ASIHTTPRequestがデータをロードするときにUIActivityIndi​​catorViewを使用する方法?

ユーザーのパフォーマンスを向上させるために、これまでにこれを行ったことはありますか?ここ

答えて

1
-(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]; 

}

を使用するためのサンプルであります
0

はASIHTTPRequestとUIActivityIndi​​cator

-(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 
関連する問題