在我的Firebase iOS应用程序中,我有一个端点指向应用程序中名为“users”的用户,在此端点内,基本结构如下:
我现在遇到的问题(以前工作得非常好)是当我使用observeEventType或observeSingleEvent并尝试在路径中检索snapshot.value:“users / userid-#”时,它给我null,即使数据显示在我所在位置的仪表板上。
这种情况只发生在其中一个用户ID上。我可以成功检索所有其他用户的数据。由于数据实际显示在仪表板上,所以我不知道为什么在检索数据时我得到的是null而不是该位置显示的数据。
我使用的代码非常简单:
Firebase *testRef = [self.ref childByAppendingPath:@"users/userid-1"];
[testRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
}];
我得到的是null而不是数据
任何人对可能发生的事情都有任何想法?
谢谢!
答案 0 :(得分:0)
首先确保您已通过身份验证。 如果您想让用户在未经过身份验证的情况下搜索该节点,请更新规则:true。
使用子函数更新firebaseReference不推荐使用的函数childByAppendingPath:
Firebase *testRef = [[self.ref child:@"users"] child:"userid-1"];
[testRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value); }];
就是这样。
答案 1 :(得分:0)
适用于最新的Firebase SDK
将firebase引用创建为:
<script>
并将你的观察者称为:
@property (strong, nonatomic) FIRDatabaseReference *dataRef;
它对我有用。
答案 2 :(得分:-1)
请检查firebase数据库中是否有适当的节点。并在那里添加了一些值。