Firebase Realtime Database Cheat Sheet

This page lists down different Swift code snippets which demonstrate how to work with Firebase Realtime Database. I like to have this page handy when working a mobile app for iOS platform with Swift and Firebase.

Set up Firebase Realtime Database

Dependencies to install with Cocoapods

pod 'Firebase/Database'

Configure a FirebaseApp shared instance, in your application’s application:didFinishLaunchingWithOptions: method:

// Use Firebase library to configure APIs
FirebaseApp.configure()

Import the Firebase module in your Swift code

import Firebase

Firebase Realtime Database and Swift Code Snippets

Store NSDictionary in Firebase Realtime Database

var dataToStore = [String: String]()    
sharedData["firstName"] = "Sergey"    
sharedData["lastName"] = "Kargopolov"    

var databaseReference: DatabaseReference!
    databaseReference = Database.database().reference()
        
let currentUser = Auth.auth().currentUser   

let userDbRef =  databaseReference.child("users").child(currentUser!.uid)
    userDbRef.child("userDetails").setValue(dataToStore)

Read NSDictionary from Firebase Realtime Database

var databaseReference: DatabaseReference!
    databaseReference = Database.database().reference()
       
    databaseReference.child("users").child((currentUser?.uid)!).child("userDetails").observeSingleEvent(of: .value, with: { (snapshot) in
           
           let value = snapshot.value as? NSDictionary
           
           let firstName = value?["firstName"] as? String ?? ""
           let lastName = value?["lastName"] as? String ?? ""
           
           print("userFullName = \(firstName) \(lastName)")
             
           
       }) { (error) in
           print(error.localizedDescription)
       }

Update value of a single key

 var databaseReference: DatabaseReference!
     databaseReference = Database.database().reference()

 let instanceIdToken = "xxx"
       
 let currentUser = Auth.auth().currentUser  

 let userDbRef =  databaseReference.child("users").child(currentUser!.uid)
           userDbRef.child("instanceIdToken").setValue(instanceIdToken)

Delete data from Firebase Realtime Database

var databaseReference: DatabaseReference! 
databaseReference = Database.database().reference()

let dbRefToSelectedItem =  databaseReference.child("users").child(self.currentUser!.uid).child("todo-items").child(selectedItemKey!)
dbRefToSelectedItem.removeValue()

 

 Firebase for iOS – Video Courses