在 iOS 上读取数据时检测错误

你的读取操作可能无法正常工作的常见原因是你的安全规则拒绝操作,例如因为你未经过身份验证(默认情况下,数据库只能由经过身份验证的用户访问)。

你可以在控制台输出中看到这些安全规则违规。但很容易忽视这些。你还可以在自己的代码中处理它们并使它们更突出地显示,这在开发期间尤其有用(因为你的 JSON,规则和代码经常更改)。

要在 iOS 上检测失败的读取,你必须实现观察者的 withCancel 块:

    ref!.child("notAllowed").observe(.value, with: { (snapshot) in
        print("Got non-existing value: \(snapshot.key)")
    }, withCancel: { (error) in
        print(error)
    })