我正在使用Firebase构建iOS应用程序,我发现Firebase中的方法observeSingleEvent(有或没有取消阻止)如果应用程序未连接到网络且该位置没有缓存值,则甚至不会触发。< / p>
当App失去与互联网的连接时,我需要向用户显示消息,但如果在使用keepSynced时该位置有缓存值,则无需执行此操作。
如果没有可以检测连接的错误的API返回,我该怎么办?由于文档说如果您没有权限访问此数据,则会调用cancelBlock,但是当App没有连接时它甚至不会回调。
答案 0 :(得分:1)
if if else statetment检查你的问题?如果已连接,您将调用observeSingleEvent函数
let connectedRef = Database.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { snapshot in
if snapshot.value as? Bool ?? false {
print("Connected")
} else {
print("Not connected")
}
})