3

我有一个导航视图,其中包含一个像出生日期一样简单的单元格。单击该特定行时,一个新的控制器会使用 UIDatePicker 被推入视图。一旦选择了新日期,我想我需要在 viewWillDisappear: 中为该特定单元格的 UITextField 值做一些事情。对我来说最好的方法是什么?我是否需要在 childController 中传入对单元格 indexPath 的引用,将其设置在那里,然后重新加载 tableView 的数据?

另一个棘手的花絮是,假设我的 tableView 数据源是一个带有键/值对的字典。当我在 tableView 上调用 reloadData 时,它会重新读取该字典,而不会注意我的子控制器所做的日期更改。

4

1 回答 1

4

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

其次,如果我没有误解,我认为你需要重新审视对象。只要您在编辑(子)控制器中更改的是对表(父)控制器使用的同一对象的引用,数据就会被同步。另一方面,如果您正在为每个控制器重新加载数据(例如,从文件中),我会看看您的应用架构是如何工作的。对象是你的朋友。充分利用这一点。

于 2008-12-08T19:20:19.130 回答