Wie kann ich füllen eine UITableView, die mit Daten aus einer parse.com Abfrage nach der es gemacht ist, die im hintergrund laufen?

Ich habe eine UITableViewController zuständig, die die Anzeige einer Tabelle voller Mitarbeiter. Diese Daten werden in einer Datenbank gespeichert sind auf parse.com.

Dies ist mein UITableViewController, in der ich einfach initiieren den Shop:

-(id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    self = [super initWithNibName:nil bundle:nil];
    if(self){
        store = [[EmployeeStore alloc] init]; 
    }
    return self;
}

Dies ist die EmployeeStore init-Methode, in der ich Abfrage für die Mitarbeiter:

-(id) init{
    self = [super init];
    if(self){
        employees = [[NSMutableArray alloc] init];
        [self fetchEmployeesFromDatabase];
    }
    return self;
}

fetchEmployeesFromDatabase, wo ich die Abfrage für die Mitarbeiter.

-(void) fetchEmployeesFromDatabase{
    PFQuery *query = [PFQuery queryWithClassName:@"Employee"];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            //The find succeeded.
            NSLog(@"Successfully retrieved %d scores.", objects.count);
            //Do something with the found objects
            for (PFObject *object in objects) {
                NSLog(@"%@", object.objectId);
                [employees addObject:object]; 
            }
        } else {
            //Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }
    }];
}

Ich bin erfolgreich empfangen, jedoch das problem ist die Abfrage erfolgt im hintergrund und wird nicht abgeschlossen, bis nach der Ansicht Tabelle ist fertig beladen, so dass die Tabelle wird nicht ausgefüllt. Ich muss die Tabelle laden Sie Ihre Daten, nachdem die Abfrage abgeschlossen ist, aber wie gehe ich über das tun dies?

InformationsquelleAutor Sam D20 | 2013-06-27
Schreibe einen Kommentar