【问题标题】:Child controller updating a label for a cell in parent table view子控制器更新父表视图中单元格的标签
【发布时间】:2010-09-25 21:54:12
【问题描述】:

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

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

【问题讨论】:

    标签: ios objective-c iphone cocoa-touch


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多