使用Firebase 3.x的SetValue完成阻止

时间:2016-06-13 09:19:27

标签: ios swift firebase firebase-realtime-database completionhandler

在Firebase 2.5.1中,这有效:

let post1Ref = sendRequestRef.childByAutoId()
post1Ref.setValue(request, withCompletionBlock: {( error:NSError?, ref:Firebase!) in

})

但是,我无法弄清楚如何在3.x中实现它(因为docs完成并没有真正告诉它)

let post1Ref = sendRequestRef.childByAutoId()
post1Ref.setValue(request, withCompletionBlock: {( error:NSError?, ref:Firebase!) in
    if (error != nil) {
       print("ERROR")
    } else {
       print("Success")
    }
})

这会引发错误:

  

使用未解析的Firebase

使用Firebase 3.x处理完成块的正确方法是什么?

1 个答案:

答案 0 :(得分:22)

使用

ref.setValue(object) { (error, ref) -> Void in

}

这里ref是 FIRDatabaseReference