为什么Firebase在查询时返回相同的值两次?

时间:2015-08-20 18:34:29

标签: ios objective-c firebase

我正在尝试使用以下查询查询Firebase:

Firebase *refReplies = [[Firebase alloc] initWithUrl:kFirebaseURLReplies];
[[[refReplies queryOrderedByChild:kChildKey] queryEqualToValue:kQueryValue] observeEventType:FEventTypeChildAdded
                                                                                               withBlock:^(FDataSnapshot *snapshot) {
                                                                                                   NSLog(@"reply key:%@",snapshot.key);
                                                                                               }];

当我运行它时,我得到正确的值,但每个值都返回两次,我不知道为什么。我在我的控制台日志中看到了这样的内容:

2015-08-20 14:06:35.220 AppName[1234:5678910] reply key:-keyName1
2015-08-20 14:06:35.221 AppName[1234:5678910] reply key:-keyName1
2015-08-20 14:06:35.221 AppName[1234:5678910] reply key:-keyName2
2015-08-20 14:06:35.222 AppName[1234:5678910] reply key:-keyName2
2015-08-20 14:06:35.222 AppName[1234:5678910] reply key:-keyName3
2015-08-20 14:06:35.223 AppName[1234:5678910] reply key:-keyName3

我也在其他地方运行类似的查询,同样的事情发生了。我可以忽略任何重复的快照,这对我来说相对简单,但这只是一个解决方法,我正在寻找解决方案。

我也看了这个问题:Firebase FEventTypeChildAdded callback gets called multiple times for the same new object。但是,这个解决方案不会解决我的问题,考虑到我的应用程序总是返回两个值,无论我尝试多少次重新登录"或者添加另一个观察事件。

0 个答案:

没有答案