Наблюдатель базы данных Firebase не получает всех детей - PullRequest
0 голосов
/ 10 сентября 2018

Я наблюдаю за моей базой данных Firebase для .childAdded.Когда я добавляю дочерний (словарь) в базу данных, он должен создать моментальный снимок всех значений для анализа в «Задачу» в моем приложении.

func storeTask(_ task: Task) {
    let taskInfo: [String] = [task.title, task.desc, set, due, "\(task.complete)"]
    setTaskDatabaseValue(values: taskInfo, dbChild: dbReference.child(task.title))
}

func setTaskDatabaseValue(values val: [String], dbChild db: DatabaseReference) {
    db.child("title").setValue(val[0])
    db.child("desc").setValue(val[1])
    db.child("set").setValue(val[2])
    db.child("due").setValue(val[3])
    db.child("complete").setValue(val[4])
}

И это мой метод наблюдателя:

func getTasks() {
    self.dbReference.observe(.childAdded) { (snapshot) in
       let snapVal = snapshot.value as! Dictionary<String,String>

       let title    = snapVal["title"]!
       let desc     = snapVal["desc"]!
       let set      = snapVal["set"]!
       let due      = snapVal["due"]!
       let complete = snapVal["complete"]!

       let task = Task(title: title, desc: desc, set: set, due: due, complete: (complete == "true"))
       TaskController.sharedInstance.addTaskToLocalList(task)
       self.tableView.reloadData()
   }
}

Где вызывается getTasks () в viewDidLoad () контроллера представления:

DatabaseController.sharedInstance.addTableView(tableView)
DatabaseController.sharedInstance.getTasks()

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

Спасибо!

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