in database/DatabaseReference/swift/ViewController.swift [46:104]
func loadCached() {
// [START load_cached]
let scoresRef = Database.database().reference(withPath: "scores")
scoresRef.queryOrderedByValue().queryLimited(toLast: 4).observe(.childAdded) { snapshot in
print("The \(snapshot.key) dinosaur's score is \(snapshot.value ?? "null")")
}
// [END load_cached]
// [START load_more_cached]
scoresRef.queryOrderedByValue().queryLimited(toLast: 2).observe(.childAdded) { snapshot in
print("The \(snapshot.key) dinosaur's score is \(snapshot.value ?? "null")")
}
// [END load_more_cached]
// [START disconnected]
let presenceRef = Database.database().reference(withPath: "disconnectmessage");
// Write a string when this client loses connection
presenceRef.onDisconnectSetValue("I disconnected!")
// [END disconnected]
// [START remove_disconnect]
presenceRef.onDisconnectRemoveValue { error, reference in
if let error = error {
print("Could not establish onDisconnect event: \(error)")
}
}
// [END remove_disconnect]
// [START cancel_disconnect]
presenceRef.onDisconnectSetValue("I disconnected")
// some time later when we change our minds
presenceRef.cancelDisconnectOperations()
// [END cancel_disconnect]
// [START test_connection]
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")
}
})
// [END test_connection]
// [START last_online]
let userLastOnlineRef = Database.database().reference(withPath: "users/morgan/lastOnline")
userLastOnlineRef.onDisconnectSetValue(ServerValue.timestamp())
// [END last_online]
// [START clock_skew]
let offsetRef = Database.database().reference(withPath: ".info/serverTimeOffset")
offsetRef.observe(.value, with: { snapshot in
if let offset = snapshot.value as? TimeInterval {
print("Estimated server time in milliseconds: \(Date().timeIntervalSince1970 * 1000 + offset)")
}
})
// [END clock_skew]
}