UITableViewController
従業員でいっぱいのテーブルの表示を担当する があります。このデータは、parse.com のデータベースに保存されています。
これは私UITableViewController
の で、ストアを開始しただけです。
-(id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nil bundle:nil];
if(self){
store = [[EmployeeStore alloc] init];
}
return self;
}
これはEmployeeStore
、従業員を照会する init メソッドです。
-(id) init{
self = [super init];
if(self){
employees = [[NSMutableArray alloc] init];
[self fetchEmployeesFromDatabase];
}
return self;
}
fetchEmployeesFromDatabase
、ここで従業員を照会します。
-(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]);
}
}];
}
私はそれらを正常に受信していますが、問題はクエリがバックグラウンドで実行され、テーブル ビューの読み込みが完了するまで終了しないため、テーブル ビューにデータが入力されないことです。クエリの完了後にテーブルにデータをリロードする必要がありますが、どうすればよいですか?