Firebase からリスト データを読み込み、UITableView にデータを入力するプロジェクトに取り組んでいます。Firebase インスタンスからスナップショットが呼び出されているのを確認できますが、スナップショットはテーブルに入力されませんが、ローカルの同期 NSMutableArray はコンテンツを表示します。Firebase データがそこに到達するまで UITableView を待機させるにはどうすればよいですか?
コードは次のとおりです。
- (void)viewDidLoad
{
[super viewDidLoad];
handles = [[NSMutableArray alloc] initWithObjects:@"Item No. 1", @"Item No. 2", @"Item No. 3", @"Item No. 4", @"Item No. 5", @"Item No. 6", nil];
[self loadDataFromFirebase];
NSLog(@"%lu", (unsigned long)[handles count]);
self.sampleTableView.delegate = self;
self.sampleTableView.dataSource = self;
}
-(void)loadDataFromFirebase
{
Firebase* listRef = [[Firebase alloc] initWithUrl:@"https://wheresthatfoodtruck.firebaseIO.com/foodtrucks"];
[listRef observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
[handles addObject:snapshot.value];
}];
}
ハンドルはアイテム番号を出力しますが、そのテスト データを削除すると、[ハンドル数] がゼロになり、Firebase からデータを取得するよりも UITableView の読み込みが速くなります。非常に感謝しています - Firebase は素晴らしいプラットフォームであり、この問題を解決できることを願っています。