reloadData()不更新父的TableView
问题描述:
我有一个自定义TableViewController
叫LibraryTableViewController
。reloadData()不更新父的TableView
class LibraryTableViewController: UITableViewController {
包含此数据进行渲染。
变种项目:[项目] = []
然后,我有另一个类火力地堡继承的LibraryTableViewController
作为代表。 (我不知道这是否是正确的描述。)
class FirebaseDB : LibraryTableViewController {
然后,我有FirebaseDB的全局实例作为
让数据库= FirebaseDB()
我有一位观察员正在聆听Firebase中数据库中的更改并正在更新
self.items
然后,尝试刷新LibraryTableViewController
使用
self.tableView.reloadData()
我可能是错的理解我目前的问题。我的想法是,项目阵列我更新是不一样的实例作为tableView
,我在应用中看到。它正在更新其未被上的应用程序提供的FirebaseDB实例数据库的项目。我如何确保正确的实例正在更新?
答
大量的代码所缺少 但你可以检查:
- 线程必须是主要的,也许你从后台调用
- 检查是改变 的数字为您
- 检查项目在的tableview不为零
- 检查委托也许它也无
,但最好给我们更多的代码)
确保您更新“项目”阵列和你的self.tableView.reloadData功能实际上发生。你可以在你的reloadData函数旁边加上print(“Ok”)。 –
它不更新“项目”阵列。 LibraryTableViewController实际上有一个项目didSet,它打印出正在分配的内容。它打印出的是什么,从火力地堡分配以及什么是对的观点。基本上有两个“项目”;我只想从LibraryTableViewController中更新一个。 –