我正在从Firebase加载列表数据并填充UITableView。虽然我看到从我的firebase实例调用的快照,但它们不会填充表,而本地同步NSMutableArray会显示内容。如何让我的UITableView等待Firebase数据到达那里?异步加载 - UITableView和Firebase
下面的代码:
- (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];
}];
}
手柄打印出的项目数,但如果我删除的测试数据,[拉手计数]变为零和的UITableView的加载速度更快,然后从火力地堡获取数据。非常感谢 - 我真的很喜欢Firebase,它是一个很棒的平台,我希望我能通过这个问题。
你在哪里更新你的餐桌?作为一个快速修复尝试添加:'[weakSelf.sampleTableView reloadData]'在块的末尾('weakSelf'应该在块外定义为'__block __weak id weakSelf = self;' –
截至目前,我只是拉下json数据,我试过在每个snapshot.value调用后调用[simpleTableView reloadData],但没有运气。弱类型有什么作用? –
我有一个错误,其中sampleTableView不是weakSelf的属性。自我的副本可以访问所有合成的属性? –