最近將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 教學] 彼得潘的iOS App課程作業五連發
- [Swift 教學] iOS APP如何串接API
- [Swift 教學] Swift Firebase資料庫串接 (附程式碼)
- [Swift 教學] Swift example 訂飲料App (附程式碼)
[Swift 教學] Swift Firebase資料庫串接 結束囉,感謝收看,有關Max行銷誌的最新文章,都會發佈在Max的Facebook粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!