Я пытаюсь перезагрузить данные моего TableView
, который успешно перезагружается при запуске приложения, но не во время выполнения приложения. У меня есть контроллер вида, в котором я храню объекты, используя core data
, а затем второй контроллер вида, в который я загружаю те же объекты.
Метод viewDidLoad()
:
let fetchRequest: NSFetchRequest<Workout> = Workout.fetchRequest()
do {
let workouts = try PersistenceService.context.fetch(fetchRequest)
self.routines = workouts
} catch {}
exerciseTableView.reloadData() // Works
Функция reloadData()
в этом методе работает, так как данные обновляются при каждом запуске приложения. Я попытался перезагрузить данные таблицы, используя одну из кнопок моего второго контроллера представления, которая открывает раскрывающееся меню.
Метод действия кнопок:
@IBAction func selectRoutineButtonPressed(_ sender: Any) {
DispatchQueue.main.async {
self.exerciseTableView.reloadData() // Not Working
}
if exerciseTableView.isHidden == true {
animate(toggle: true, togglingTableView: exerciseTableView)
}
else {
animate(toggle: false, togglingTableView: exerciseTableView)
}
}
У меня изначально не было строки DispatchQueue
, но после попытки найти решение я добавил ее. Однако данные таблицы по-прежнему не меняются, когда я нажимаю кнопку.
Любой совет будет принят с благодарностью, спасибо.