2011-01-10 9 views
0

Mein erster Bildschirm, der eine UITableView enthält, habe ich WebService-Methode in viewDidLoad nennen:lädt Bildschirm nach dem Web-Service-Finishing ruft

- (void)viewDidLoad { 
[super viewDidLoad]; 

self.navigationItem.title [email protected]"Brand List"; 

getBrands *obj = [[getBrands alloc]init]; 
[obj getBrandsList]; 

getBrandsList, aber bevor der Webservice abgeschlossen, es auf den Bildschirm geladen wird, so dass der Bildschirm enthält eine leere Liste.

Also muss ich warten (dh laden Dialog), bis die Methode abgeschlossen ist und dann den Bildschirm mit Daten anzeigen.

Wie mache ich das?

Antwort

0
-(IBAction) buttonClick: (id) sender{ 

    //show loading dialog here(activity indicator) 
    [self performSelectorInBackground:@selector(callWebService) withObject:nil];  

    } 

-(void) callWebService 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; 

    //resend request and parse response. 
    // create new view controller object and push screen 
    // hide loading indicator 

    [pool release]; 
} 
2

Erstellen Sie eine neue Ansicht mit einem UIActivityIndicatorView und einem UILabel. Dann fügen Sie es mit einigen CATransition über Ihrem Fenster hinzu. Wenn Sie mit dem Herunterladen fertig sind, entfernen Sie diesen Bildschirm.

+0

Ja, es ist eine gute Lösung. – Kampai

Verwandte Themen