gpt4 book ai didi

design-patterns - 结合 Cloud Firestore 的 Swift 单例模式

转载 作者:行者123 更新时间:2023-12-05 07:37:42 45 4
gpt4 key购买 nike

我一直在研究将云 Firestore 作为我的后端基础设施。我一直在使用实时数据库,但觉得转换至关重要。我查看了 firebase 文档,我正在考虑使用单例模式来管理数据事务,但是我不确定后果,因为我在网上几乎找不到相关内容。是否有任何关于结合云 Firestore 的最佳实践设计模式的信息。

最佳答案

这是一个很晚的答案,但这就是我将 Firestore 与单例模式一起使用的方式......希望它能帮助其他人......

struct RemoteConfigManager {

static var sharedDB = RemoteConfigManager()

let db = Firestore.firestore() //FIRFirestore

var listener : ListenerRegistration?

private init(){}

mutating func getData(){
listener = db.collection("myCollection").addSnapshotListener { (snapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in snapshot!.documents {
let myValue = document.get("myKey") as! Bool
//other stuff
}
}
}


}

func detachListener(){
listener?.remove()
}

}

下面的代码展示了如何使用这个结构...

    //instance for FireStore
var db : RemoteConfigManager?

//use this method after configring the GoogleService.plist file
func firebaseRemoteConfig() {
db = RemoteConfigManager.sharedDB
db?.getData()
}

在detachListener时调用下面这行

 db?.detachListener()

我正在分离 AppDelegate 的 applicationWillTerminate 方法。

关于design-patterns - 结合 Cloud Firestore 的 Swift 单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394449/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com