firebase ios gooffline删除观察员

时间:2015-09-11 08:52:38

标签: firebase

简单问题:

当我使用goOffline(断开连接到firebase)时,是否会自动删除所有观察者?

如果没有,是否有其他方法可以做到这一点,因为removeAllOberserves似乎不起作用或者我必须保留单个句柄数组?

更新

我自己回答。 removeAllOberserves效果很好,如果你用你用来设置观察者的引用来调用它!

示例:

Firebase *userThreadRef;

userThreadRef = [userRef appendPathComponent: ThreadsPath]; 
[userThreadRef observeEventType: FEventTypeChildAdded withBlock: ^(FDataSnapshot *snapshot) {
...
}];

....

[userThreadRef removeAllObservers];

不要使用这样的新引用:

Firebase *newUserThreadRef = [userRef appendPathComponent: ThreadsPath]; 
[newUserThreadRef removeAllObservers];

1 个答案:

答案 0 :(得分:0)

  

当我使用goOffline(断开连接到firebase)时,是否会自动删除所有观察者?

没有。调用goOffline()不会自动删除观察者/听众。

  

还有另一种方法吗,因为removeAllOberserves似乎不起作用或者我必须保留一个单句柄数组?

如果没有看到您的代码,很难说,但可能您的期望是错误的。

您需要在每个引用上调用removeAllObservers()。方法名称中的All是因为它删除了所有事件类型的观察者,而不是所有引用。