子控制器在父表视图中更新单元格的标签

时间:2008-12-08 18:46:00

标签: ios objective-c iphone cocoa-touch

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

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

1 个答案:

答案 0 :(得分:4)

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

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