我想检查当前用户的firebase onlineOfflineStatus,它将返回“Online”或“Offline”,然后在他们登录交换机时将其设置为正确的位置,就像注销时一样,应将其设置为offline的意思是,当我重新登录时,它处于脱机状态,尽管我不太清楚吗?
let switchControl: UISwitch
func setLeftNavButton() {
var switchControl=UISwitch()
switchControl = self.switchControl
switchControl.isOn = true
switchControl.setOn(true, animated: false)
switchControl.addTarget(self, action: #selector(switchValueDidChange), for: .valueChanged)
self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(customView: switchControl)
}
func setSwitch(){
let online = "Online"
let offline = "offline"
if currentUser?.onlineOfflineStatus == online {
self.switchControl.isOn
} else {
if currentUser?.onlineOfflineStatus == offline
self.switchControl.offline
}
}
最佳答案
您可以监听连接状态。
根据文档:
https://firebase.google.com/docs/database/ios/offline-capabilities#section-connection-state
let connectedRef = Database.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { snapshot in
if snapshot.value as? Bool ?? false {
UserDefaults.standard.set(true, forKey: "current_user_is_connected")
} else {
UserDefaults.standard.set(false, forKey: "current_user_is_connected")
}
})
更新您的代码:
func setSwitch(){
if UserDefaults.standard.bool(forKey: "current_user_is_connected") {
self.switchControl.isOn = true
} else {
self.switchControl.isOn = false
}
}
关于ios - 根据在firebase数据库中找到的值设置开关,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46984933/