2008-12-07 84 views
14

我是新来的iPhone和苹果的发展和对我的第一个应用程序的工作。选择表格中的项目时,只需一个TableView和一个“详细视图”即可。如何在从“详细信息视图?”返回后刷新表视图?

我想要做的是改变TableView中根据我在“详细信息视图”采取了一些行动单元格的背景颜色。

当应用程序最初加载我自定义颜色-cellForRowAtIndexPath:方法,但是当用户离开我的详细回来查看功能不叫,所以我的表视图没有更新的颜色。现在刷新的唯一方法是退出应用程序并重新启动它。 (我坚持用自己的NSUserDefaults的选择。)

很显然,我希望当他们回来的形成细节视图被刷新表视图,但我不知道如何让一个单元格引用,并在该方法要做到这一点。我假设它应该在-viewDidAppear去,因为那个叫一切视图。

回答

34

使用[tableView reloadData] - 这将使tableview运行通过行并重建自身。

+0

这不刷新实现代码如下,如果你是重新启动应用程序。什么是完全令人耳目一新的,就像应用程序已启动并且tableview是新创建的? – coolcool1994 2014-02-01 21:14:35

9

你真的应该做的是,在viewWillAppear:

另外,还可以通过使用其visibleCells方法获取表视图的可见单元格。由于表视图的工作方式,其他单元根本不存在 - 滚动将触发委托方法并创建新单元(如果使用dequeue...,则将现有单元取出)。

1

我会补充说,如果它是在编辑视图中,然后保存在表中存储的一些修改后的信息,你应该有一个委托,检测数据实际上保存时,然后重新加载你的tableview。每次出现视图时,viewWillAppear都会被触发。我认为你只是在数据更改后才想刷新表格。

相关问题