Перезагрузить tableView из другого ViewController Swift 4.2
3 ответа
Решение
Спасибо за каждого. Наконец, после НИОКР. Я нашел следующее решение. и работает нормально.
let fav:FavoritesFiltersViewController!
fav.reloadData()
- Вы можете использовать NotificationCenter для перезагрузки таблицы просмотра данных из
другой viewController, как показано ниже:
1. Вы можете добавить эту строку в другой viewController.
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "newDataNotif"), object: nil)
2. Добавьте эту строку (viewDidLoad) в viewController, где содержится tableView.
NotificationCenter.default.addObserver(self, selector: #selector(self.refresh), name: NSNotification.Name(rawValue: "newDataNotif"), object: nil)
3. Добавьте этот метод выбора для перезагрузки данных tableView.
@objc func refresh() {
self.tblview.reloadData() // a refresh the tableView.
}
Это работает нормально. Спасибо.
Проверьте функцию инициализации, которая срабатывает при вызове FavoritesFiltersViewController.shareInstance
Похоже, вы не присваиваете значение свойству tableView.
Просто чтобы проверить, вы можете удалить необязательный из него и посмотреть, будет ли компилятор жаловаться, потому что он не имеет начального значения.