如何在Swift中更新TableView数据

时间:2019-04-16 13:53:55

标签: ios swift uitableview core-data

我正在尝试重新加载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行,但是在尝试找到解决方案后,我添加了它。但是,当我按下按钮时,表格数据仍然没有改变。

任何建议,将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

尝试这样

int[] array = vector.getVector();
for (int i : array) {
    System.out.println("..." + i);
}

希望这对您有用。