【发布时间】:2019-09-06 15:48:08
【问题描述】:
我正在尝试重新加载我的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 行,但在尝试找到解决方案后我添加了它。但是当我按下按钮时,表格数据仍然没有改变。
任何建议将不胜感激,谢谢。
【问题讨论】:
-
您必须从本地存储中获取更新的数据,然后尝试重新加载 tableview。
标签: ios swift uitableview core-data