2016-11-21 2 views
0

У меня есть пользовательский TableViewController, называемый LibraryTableViewController.reloadData() не обновляет родительский стол TableView

class LibraryTableViewController: UITableViewController { 

содержит эти данные для визуализации.

вар элементы: [пункт] = []

Тогда, у меня есть еще один класс для Firebase, который наследует LibraryTableViewController в качестве делегата. (Я не уверен, если это правильное описание.)

class FirebaseDB : LibraryTableViewController { 

Тогда у меня есть глобальный экземпляр FirebaseDB как

базы данных ЛПЭ = FirebaseDB()

У меня есть наблюдатель, наблюдающий за изменениями в базе данных в классе Firebase, и я обновлял

self.items

Затем, пытаясь обновить LibraryTableViewController с помощью

self.tableView.reloadData()

Я мог бы быть неправильно понять мою текущую проблему. Я думаю, что массив элементов, который я обновляю, не совпадает с экземпляром tableView, который я вижу в приложении. Он обновляет элементы базы данных экземпляра FirebaseDB, которые не отображаются в приложении. Как я могу убедиться, что правильный экземпляр обновляется?

+0

Убедитесь, что вы обновили массив «items» и что ваша функция self.tableView.reloadData на самом деле происходит. Вы можете поместить что-то вроде print («Ok») рядом с вашей функцией reloadData. –

+0

Он обновляет массив «items». На LibraryTableViewController на самом деле есть элементы didSet, который печатает то, что назначается. Он распечатывает то, что назначается из Firebase, а также то, что находится в представлении. В основном есть два «предмета»; Я просто хочу, чтобы один из библиотеки библиотеки был обновлен. –

ответ

0

много коды отсутствует но вы можете проверить:

  1. нить должна быть основной, может быть, вы звоните из фона
  2. проверки деталь изменяются номер для вас
  3. проверки TableView не ноль
  4. проверить делегат может быть, его также NIL

, но лучше дайте нам больше кода)

Смежные вопросы