[iOS][Swift] Firebase Firestore 사용법

Jay·2023년 10월 30일
0

iOS

목록 보기
47/47

1. Firebase 초기화:

앱의 AppDelegate.swift에 다음 코드를 추가하여 Firebase를 초기화합니다:

import Firebase

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    return true
}

2. Firestore 데이터베이스 사용:

Firestore 데이터베이스 인스턴스를 가져옵니다:

let db = Firestore.firestore()

3. 데이터 추가 및 수정:

문서를 추가하려면:

var ref: DocumentReference? = nil
ref = db.collection("users").addDocument(data: [
    "first": "Ada",
    "last": "Lovelace",
    "born": 1815
]) { err in
    if let err = err {
        print("Error adding document: \(err)")
    } else {
        print("Document added with ID: \(ref!.documentID)")
    }
}

문서를 수정하려면:

let washingtonRef = db.collection("users").document("washington")

washingtonRef.updateData([
    "capital": true
])

4. 데이터 읽기:

문서를 읽으려면:

let docRef = db.collection("users").document("washington")

docRef.getDocument { (document, error) in
    if let document = document, document.exists {
        let dataDescription = document.data().map(String.init(describing:)) ?? "nil"
        print("Document data: \(dataDescription)")
    } else {
        print("Document does not exist")
    }
}

5. 데이터 삭제:

문서를 삭제하려면:

db.collection("users").document("washington").delete() { err in
    if let err = err {
        print("Error removing document: \(err)")
    } else {
        print("Document successfully removed!")
    }
}

6. 실시간 업데이트 수신:

문서 또는 쿼리에 대한 변경 사항을 실시간으로 수신하려면 SnapshotListener를 사용할 수 있습니다.

let docRef = db.collection("users").document("washington")

docRef.addSnapshotListener { documentSnapshot, error in
    guard let document = documentSnapshot else {
        print("Error fetching document: \(error!)")
        return
    }
    guard let data = document.data() else {
        print("Document data was empty.")
        return
    }
    print("Current data: \(data)")
}
profile
Junior Developer

0개의 댓글