小编Nic*_*aar的帖子

Firebase删除观察者

我在代码中删除Firebase观察者时遇到问题.这是结构的细分:

var ref = Firebase(url:"https://MY-APP.firebaseio.com/")
var handle = UInt?

override func viewDidLoad() {
    handle = ref.observeEventType(.ChildChanged, withBlock: {
        snapshot in

        //Do something with the data
    }
}

override func viewWillDisappear(animated: Bool) {
    if handle != nil {
        println("Removed the handle")
        ref.removeObserverWithHandle(handle!)
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我离开viewcontroller时,我看到"Removed the handle"被打印出来,但当我返回viewcontroller时,我的观察者会为每个事件调用两次.当我离开并再次返回时,它被召唤三次.等等.为什么观察者没有被移除?

我也ref.setValue("some value")稍后在代码中调用,这可能与它有什么关系吗?

ios firebase swift

8
推荐指数
1
解决办法
4248
查看次数

标签 统计

firebase ×1

ios ×1

swift ×1