ios - ObsetveSingleEvent 错误处理

标签 ios swift firebase firebase-realtime-database

userRef.child(userId).observeSingleEvent(of: .value, with: { snapshot in
        //some codes
})

这是我从 firebase 数据库获取一些用户数据的代码。我的问题是,如果出现错误(如网络错误、请求超时、未知错误),如何获取错误?与其他事件(setValue、updateValue 等)相比,observeSingleEvent 没有completionBlock

我也尝试过:

userRef.child(userId).observeSingleEvent(of: .value, with: {(snapshot) in
    // print something
} , withCancel: {(error) in
    // print something
})

仍然不会进入取消状态。

最佳答案

这是您要找的吗?

userRef.child(userId).observeSingleEvent(of: .value, with: { (snapshot) in
        print("Worked")           
    }) { (error) in
        print("Didn't")        
    }

您还可以再次检查,以防您的观察出现错误。

if snapshot.value is NSNull{
     //snapshot is null
} else{
     //Not null
}

关于ios - ObsetveSingleEvent 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51182806/

相关文章:

android - 更改Android和IOS推送通知状态栏的图标

ios - 在 UIView 中的贝塞尔曲线路径内绘制/绘制草图颜色

ios - Swift iOS 和 Java Sockets 之间的 TCP 通信

javascript - 需要 firebaseUI - 未定义窗口

angular - 如何在 firebase 云函数和 angular 之间共享 typescript 类

ios - 如何获取命令行工具的包 ID

ios - AVCaptureSession 开始运行 exc_bad_access iOS 10 Swift 3

ios - 如何禁用 "named colours can only be accessed from an Asset Catalog in iOS 11.0 and later"警告?

swift - 从 SLPagingViewSwift VC 继续并关闭目标 VC 以返回

javascript - 如何使用 Cloud Function .onWrite (Firebase) 从其他数据库 Node 获取变量