Swift单例模式与Cloud Firestore的结合

3

我一直在研究作为后端基础设施的云Firestore。我一直在使用实时数据库但感觉必须进行切换。我看了Firebase文档,正在考虑使用单例模式来管理数据事务,然而我不确定其后果,因为在线上很少提到。有关于最佳实践设计模式与云Firestore结合的信息吗?

1个回答

0

回答有些晚了,但这就是我如何使用单例模式与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方法中进行分离。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接