Извлечение последнего дочернего элемента из базы данных в реальном времени из firebase дочернего узла 4 - PullRequest
0 голосов
/ 04 марта 2019

Это моя база данных реального времени Firebase

Ссылка на изображение

Это фрагмент, который я использую всегда возвращая ноль

let rootRef = Database.database().reference()
            rootRef.child("POSTS").queryLimited(toLast: 1).observeSingleEvent(of: .value) { (myDataSnap) in
                let value = myDataSnap.value as? NSDictionary
                print(value as? Any)
            }

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Если вы пытаетесь получить доступ к идентификатору, а идентификаторы могут отличаться от 0. Чем вы можете воспользоваться нижеприведенным фрагментом

let Key = rootRef.child("POSTS").childByAutoId().key
            rootRef.child("POSTS").child(Key!).setValue(postData.toDictionary()){
                (error:Error?, ref:DatabaseReference) in
                if let error = error {
                    print("Data could not be saved: \(error).")
                } else {
                   //do stuff
                }
            }
0 голосов
/ 04 марта 2019

Используйте .childAdded или childChanged вместо .value, это может решить эту проблему

let rootRef = Database.database().reference()
            rootRef.child("POSTS").queryLimited(toLast: 1).observeSingleEvent(of: .childChanged) { (myDataSnap) in
                let value = myDataSnap.value as? NSDictionary
                print(value as? Any)
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...