Skip to content

Instantly share code, notes, and snippets.

@stucarney
Last active February 21, 2017 22:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stucarney/efd03887a597eb052b2c9313d52aa48c to your computer and use it in GitHub Desktop.
Save stucarney/efd03887a597eb052b2c9313d52aa48c to your computer and use it in GitHub Desktop.
Firebase database connected? Swift class
var connectedRef: FIRDatabaseReference! {
return FIRDatabase.database().reference().child(".info/connected")
}
class FIRConnection {
static let sharedInstance = FIRConnection()
var handle: UInt?
var isConnected = false
class func startMonitoring() {
sharedInstance.handle = connectedRef.observe(.value, with: { (snapshot) in
guard let connected = snapshot.value as? Bool else {
print("FIRConnection: Error occurred")
return
}
if connected {
print("FIRConnection: Connected")
sharedInstance.isConnected = true
} else {
print("FIRConnection: Not connected")
sharedInstance.isConnected = false
}
})
}
class func stopMonitoring() {
if let handle = sharedInstance.handle {
connectedRef.removeObserver(withHandle: handle)
}
}
class func connected() -> Bool {
return sharedInstance.isConnected
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment