Я пытаюсь настроить базу данных для базы данных firestore, но не могу этого сделать, сталкиваюсь с несколькими ошибками и не получаю какого-либо конкретного решения для этого, я использую swift для ios, в основном это приложение для чата, которое следует изучебник CodeLab, вот ссылка на тот же учебник! Этот учебник основан на базе данных Firebase Realtime, и мое требование - база данных Firestore,
Заранее спасибо за руководство
Что я пытался преобразовать в базу данных Firestore
var messages: [DocumentSnapshot]! = []
fileprivate var _refHandle: CollectionReference!
var ref = Firestore.firestore().collection("messages")
func configureDatabase() {
//ref = Firestore.firestore() // Listen for new messages in the Firebase database
_refHandle = self.ref.addSnapshotListener{ querySnapshot, error in
if let documents = querySnapshot?.documents {
var messages = [DocumentSnapshot]()
for document in documents {
let message = messages(snapshot: document)
message.append(message)
message.clientTable.insertRows(at: [IndexPath(row: message.messages.count-1, section: 0)], with: .automatic)
}
// completion(messages)
}
} as! CollectionReference
}
Код RealtimeDatabase
var ref: DatabaseReference!
var messages: [DataSnapshot]! = []
fileprivate var _refHandle: DatabaseHandle?
deinit {
if let refHandle = _refHandle {
self.ref.removeObserver(withHandle: _refHandle)
}
}
func configureDatabase() {
ref = Database.database().reference()
// Listen for new messages in the Firebase database
_refHandle = self.ref.child("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)
})
}
Ошибка в коде пожарного депо
Cannot call value of non-function type '[DocumentSnapshot]'"
в
let message = messages(snapshot: document)