2016-11-21 155 views
0

我有一個自定義TableViewControllerLibraryTableViewControllerreloadData()不更新父的TableView

class LibraryTableViewController: UITableViewController { 

包含此數據進行渲染。

變種項目:[項目] = []

然後,我有另一個類火力地堡繼承的LibraryTableViewController作爲代表。 (我不知道這是否是正確的描述。)

class FirebaseDB : LibraryTableViewController { 

然後,我有FirebaseDB的全局實例作爲

讓數據庫= FirebaseDB()

我有一位觀察員正在聆聽Firebase中數據庫中的更改並正在更新

self.items

然後,嘗試刷新LibraryTableViewController使用

self.tableView.reloadData()

我可能是錯的理解我目前的問題。我的想法是,項目陣列我更新是不一樣的實例作爲tableView,我在應用中看到。它正在更新其未被上的應用程序提供的FirebaseDB實例數據庫的項目。我如何確保正確的實例正在更新?

+0

確保您更新「項目」陣列和你的self.tableView.reloadData功能實際上發生。你可以在你的reloadData函數旁邊加上print(「Ok」)。 –

+0

它不更新「項目」陣列。 LibraryTableViewController實際上有一個項目didSet,它打印出正在分配的內容。它打印出的是什麼,從火力地堡分配以及什麼是對的觀點。基本上有兩個「項目」;我只想從LibraryTableViewController中更新一個。 –

回答

0

大量的代碼所缺少 但你可以檢查:

  1. 線程必須是主要的,也許你從後臺調用
  2. 檢查是改變 的數字爲您
  3. 檢查項目在的tableview不爲零
  4. 檢查委託也許它也無

,但最好給我們更多的代碼)