2010-09-20 2 views
-1

i besoin d'afficher une horloge en arrière-plan pour le WebRequest temps de chargement dans les minutes: secondes format.When WebRequest est chargé de la minuterie doit stop.My avec succès le code est ici:Comment afficher NSTimer pour un temps de chargement de webrequest dans xcode?

@interface TimerWithWebrequestViewController : UIViewController { 
    IBOutlet UIWebView *webView; 
    IBOutlet UILabel *lbl; 
    int mainInt; 
    NSTimer *randomMain; 
} 
@property(nonatomic,retain) UIWebView *webView; 
-(void)upDate; 
@end 

@implementation TimerWithWebrequestViewController 
@synthesize webView; 
-(void)viewDidLoad 
{ 
NSString *urlAdd = @"http://www.google.com"; 
NSURL *url = [NSURL URLWithString:urlAdd]; 
NSURLRequest *reqObj = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:reqObj]; 
[self performSelectorInBackground:@selector (upDate) withObject:nil]; 

} 
-(void)upDate 
{ 
mainInt = 0; 
randomMain = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(randomMainVoid) userInfo:nil repeats:YES]; 

} 
-(void)randomMainVoid{ 
mainInt += 1; 
lbl.text = [NSString stringWithFormat:@"%d",mainInt]; 

} 
+0

Pas une question. – Nick

+0

N'utilisez pas de balises "code" sur Stack Overflow. Utilisez le bouton "101010" pour formater le code à la place. –

Répondre

0

NSTimer n'est pas le bon outil pour ce travail, puisque la classe vous oblige à spécifier un intervalle de temps. Ce que vous voulez faire est de lancer un "chronomètre". Vous pouvez y parvenir en enregistrant un horodatage lorsque la charge commence et quand il se termine par la mise en œuvre des UIWebViewDelegate méthodes suivantes:

- (void)webViewDidStartLoad:(UIWebView *)webView; 
- (void)webViewDidFinishLoad:(UIWebView *)webView; 
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 

Vous pouvez utiliser NSDate pour cet horodatage (appel [NSDate date]), en utilisant la fonction time(3), etc. Prendre la différence des deux horodateurs vous donne votre intervalle, c'est-à-dire votre temps de chargement.

Questions connexes