我一直在研究作为后端基础设施的云Firestore。我一直在使用实时数据库但感觉必须进行切换。我看了Firebase文档,正在考虑使用单例模式来管理数据事务,然而我不确定其后果,因为在线上很少提到。有关于最佳实践设计模式与云Firestore结合的信息吗?
我一直在研究作为后端基础设施的云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()
}
db?.detachListener()
我正在AppDelegate的applicationWillTerminate
方法中进行分离。