Быстрая загрузка данных базы данных firebase при изменении данных - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть настроенная таблица, которая извлекает информацию из моей базы данных Firebase, как показано ниже. Как настроить прослушиватель для поиска любых новых изменений в базе данных? В данный момент, глядя на мое табличное представление, я могу добавить новый элемент в базу данных, но не увидит изменения в моем табличном представлении, пока я не перезагрузлю это представление снова.

var markets: [loadMyData] = []
    var marketSelectedText = ""
    var myKey = [Any]()


    override func viewDidLoad() {
        super.viewDidLoad()


        ref.child("Markets").observeSingleEvent(of: .value, with: { (snapshot) in

            guard snapshot.exists() else
            {
                print("Null Markets")
                return
            }

            let allMarkets = (snapshot.value as! NSMutableDictionary).allKeys
            self.myKey = allMarkets
            self.tableView.reloadData()
            print(self.myKey, " This is the printing of my key")
        })

        ref.child("Markets").observe(.value, with: { snapshot in
            print(snapshot.value as Any, " ref.observe")
            self.tableView.reloadData()
        })



    }

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Firebase предоставляет слушателям возможность наблюдать за изменениями базы данных, пожалуйста, проверьте документацию Firebase https://firebase.google.com/docs/database/ios/lists-of-data

  • FIRDataEventTypeChildChanged это событие для прослушивания изменений базы данных

    commentsRef.observe(.childChanged, с: {(снимок) в

    // здесь вы получите измененное значение узла здесь в snapshot.value

    })

0 голосов
/ 15 апреля 2019

Прямо сейчас вы используете:

ref.child("Markets").observeSingleEvent(of: .value,

Наблюдает текущие данные в Markets и затем прекращает наблюдение.

Если вы хотите получить как текущие данные, так и любые изменения, используйте observe(DataEventType.value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...