2012-03-28 4 views
1

In meinem app ich eine HTML-Datei von einem Server herunterzuladen und zu überprüfen, ob ein Bild zur Zeit auf der Website und legen Sie einen Status ein Etikett, wenn das Bild gefunden wurde. Alles funktioniert gut, aber ich mag zeigen Sie dem Benutzer ein Laden Statusbezeichnung, während die App die Datei herunterlädt. Es funktioniert mit statischem Text, aber wie kann ich nach dem Laden von Text laufende Punkte anzeigen? Ich sehe gerne: Loading> Loading. > Loading ..> Loading ...> Laden> und so weiterWährend des Downloads eine HTML-Datei einen statischen Text zeigt und Laufpunkte (Loading. .. ...)

-Code (Ich habe keine genauen Fortschrittsbalken müssen):

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    platzStatusLabel.text = @"Loading"; 
    if (myConnection == nil) { 
     myData = [NSMutableData new]; 
     NSString *urlString = [NSString stringWithFormat:@"http://www.myURL.com"]; 
     myConnection =[NSURLConnection connectionWithRequest: 
         [NSURLRequest requestWithURL: 
         [NSURL URLWithString:urlString]] 
                delegate:self]; 
    } 

} 



- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 

    NSString *stringToLookup = [[NSString alloc]initWithData:myData encoding:NSASCIIStringEncoding]; 

    if ([stringToLookup rangeOfString:@"image_green"].location != NSNotFound){ 
     platzStatusLabel.text = @"Course is open."; 
    } else { 
     platzStatusLabel.text = @"Course is closed."; 
    } 

    [self initializeVariablesAgain]; 
} 




- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { 

    [myData appendData:data]; 
} 




- (void) initializeVariablesAgain { 
    myData = nil; 
    myConnection = nil; 
} 

Antwort

1

Warum nicht eine UIActivityIndicator (diese circly Sache, die Highlights) des Antrags bei der Erstellung und es in didFinishLoading stoppen? Oder starten und stoppen Sie einen NSTimer, der auf dieselbe Weise durch Ihre verschiedenen Strings iteriert. Zuletzt könnten Sie Ihre verschiedenen Strings in didReceiveData durchlaufen. Prost

+0

UIActivityIndicator ist die beste Lösung für diese. Sieht sogar besser aus als das einfache Laden von Text. Danke für den Tipp. –

0

Aktualisieren Sie Ihre Zähler (Dateigröße Updates heruntergeladen) in

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data; 

zB.

[myData appendData:data]; 
self.myCountInBytesOfDownloadProgress = [myData length]; 
+0

Puh, können Sie das konkretisieren? –

+0

Vielen Dank auch für Ihre Hilfe, wird Ihren Vorschlag im Hinterkopf behalten, –

Verwandte Themen