什么是firestore中的“ DatabaseHandle”?

时间:2019-10-30 04:03:51

标签: swift firebase firebase-realtime-database google-cloud-firestore

我正在将Firebase Realtime数据库功能转换为Firestore数据库,我无法获得与“ DatabaseHandle”等效的功能,如下面的代码中那样配置数据库,我需要将数据库转换为聊天应用程序,这是我一直关注的教程tutorial reference

fileprivate var _refHandle: DatabaseHandle?
  deinit {
    if let refHandle = _refHandle  {
      self.ref.child("messages").removeObserver(withHandle: refHandle)
    }
  }

  func configureDatabase() {
    //ref = Firestore.firestore()    // Listen for new messages in the Firebase database
    _refHandle = self.ref.collection("messages").observe(.childAdded, with: { [weak self] (snapshot) -> Void in
      guard let strongSelf = self else { return }
      strongSelf.messages.append(snapshot)
      strongSelf.clientTable.insertRows(at: [IndexPath(row: strongSelf.messages.count-1, section: 0)], with: .automatic)
    })
  }

1 个答案:

答案 0 :(得分:1)

两个数据库都有很多差异,但是您可以找到大多数相似之处。像DatabaseHandle等效于“ CollectionReference”,观察者等效于“ Listeners”。

除了遵循任何代码外,您还必须参考包含所有功能片段的官方文档,然后您才能有所作为。

文档:https://firebase.google.com/docs/firestore

让我知道是否需要更多说明。