2008-12-08 70 views
3

我有一个导航视图,其中包含一些与出生日期一样简单的单元格。当点击该特定行时,将使用UIDatePicker将新控制器推入视图。一旦选择了新日期,我想我需要在viewWillDisappear中执行一些操作:对于特定单元格的UITextField值。我做这件事的最好方法是什么?我是否需要在childController中传递对单元格indexPath的引用,将它设置在那里,然后重新加载tableView的数据?子级控制器更新父级表格视图中单元格的标签

另一个棘手的技巧是让我们说我的tableView数据源是一个包含键/值对的字典。当我在tableView上调用reloadData时,它会重新读取该字典,而不会记下我的子控制器所做的日期更改。

回答

4

首先,重新载入数据的最佳位置在特定的UIViewController的viewWillAppear:方法中。这样你就不必担心引用其他控制器中的表。

二,如果我没有误解,我认为你需要刷新对象。只要您在编辑(子)控制器中更改的内容是对表(父级)控制器使用的同一对象的引用,数据就会同步。另一方面,如果您为每个控制器重新加载数据(比如从一个文件),我会看看您的应用程序体系结构如何工作。对象是你的朋友。利用这一点。

相关问题