09 Swift 教學10 所有文章

[Swift 教學] Swift Firebase資料庫串接

最近將Swift連上Firebase資料庫,詳細記錄串接過程,從cocoapods安裝Firebas、AppDelegate中import、和Swift如何操作Firebase資料庫中的新增、讀取、刪除和更新,希望此筆記對你有幫助。

除此之外可以參考以下文章:

一. Swift安裝Firebase

1.安裝cocoapods:

 sudo gem install cocoapods

2.移轉至專案夾:

 cd ~/Desktop/CocoapodsTest

3.建立Podfile:

 pod init

4.加入

pod 'Firebase/Analytics'
pod 'Firebase/Firestore'
pod 'Firebase/Core'

5.安裝

pod install

二. 在AppDelegate中import Firebase

import Firebase
import FirebaseFirestore
import FirebaseCore

FirebaseApp.configure()
let db = Firestore.firestore()

設定如下圖:

可以參考Firebase官方文件: https://github.com/firebase/snippets-ios/blob/6f8bb8d3865398b40a327240c693664b0d3b528a/firestore/swift/firestore-smoketest/AppDelegate.swift#L31-L33

三. Swift 使用 Firebase 的資料庫

首先宣告var db: Firestore! ,並在viewDidLoad內加入db = Firestore.firestore() ,之後就可以用db來做事情囉!

class ViewController: UIViewController {
    
    var db: Firestore!
     
    override func viewDidLoad() {
        super.viewDidLoad()
        
        db = Firestore.firestore()
    }
}

使用Swift 新增 Firebase資料庫

    func addData() {
        db.collection("users").addDocument(data: [
            "name": "Max",
            "ordee": "product",
            "size": "size",
            "price": 60
        ]) { (error) in
            if let error = error {
                print(error)
            }
        }
    }

使用Swift 讀取 Firebase資料庫

    func readData(){
        db.collection("users").getDocuments { (querySnapshot, error) in
            if let querySnapshot = querySnapshot {
                for document in querySnapshot.documents {
                    print(document.data())
                }
            }
        }
    }

使用Swift 刪除 Firebase資料庫

// 刪除Document

   func deleteDocument() {
        // [START delete_document]
        db.collection("uesrs").document("DC").delete() { err in
            if let err = err {
                print("Error removing document: \(err)")
            } else {
                print("Document successfully removed!")
            }
        }
    }

// 刪除Collection

    func deleteCollection(collection: String) {
        db.collection(collection).getDocuments() { (querySnapshot, err) in
            if let err = err {
                print("Error getting documents: \(err)")
                return
            }
            
            for document in querySnapshot!.documents {
                print("Deleting \(document.documentID) => \(document.data())")
                document.reference.delete()
            }
        }
    }

使用Swift 更新 Firebase資料庫

    func updateData(){
        db.collection("users").whereField("name", isEqualTo: "Max").getDocuments { (querySnapshot, error) in
            if let querySnapshot = querySnapshot {
                let document = querySnapshot.documents.first
                document?.reference.updateData(["size": "big"], completion: { (error) in
                })
            }
        }
    }

相關延伸閱讀:

[Swift 教學] Swift Firebase資料庫串接 結束囉,感謝收看,有關Max行銷誌的最新文章,都會發佈在Max的Facebook粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *