【问题标题】:Best way to re-use a UITableView with dynamic data?使用动态数据重用 UITableView 的最佳方法?
【发布时间】:2008-11-27 04:24:55
【问题描述】:

我的应用程序有一系列基于一些分层数据的表视图。例如,用户在我的 CategoryListController 上选择“按 XYZ 浏览”,然后我根据该选择加载我的 DocumentListController。

现在我正在通过返回一些 JSON 数据的 Web 服务获取列表,但这不是重点。我可以从 SQLite 数据库中检索这个动态列表,我也会遇到同样的潜在挑战。

这里的问题是,由于我在 DocumentListController 中的表格视图的项目列表会根据用户点击的选择而改变,所以我必须在表格视图显示后加载我的列表。

现在我正在使用-viewWillAppear: 来触发我的网络服务中数据项的“刷新”。我想知道这是否是进行此刷新的最佳方式,或者我是否应该考虑使用不同的方法。我尝试使用-viewDidLoad,但该方法只为 DocumentListController 调用一次,并且我必须在每次调用时检查“选择”是否已更改,如果是,我需要再次调用我的 Web 服务。

做这样的事情最好的方法是什么?

【问题讨论】:

    标签: iphone cocoa-touch uitableview


    【解决方案1】:

    由于您通过网络检索数据,我建议您在处理后发布通知。您的 DocumentListController 应该注册该通知并在通知处理程序中调用其表视图的 reloadData。

    如果数据在显示视图时始终存在,另一种方法是您建议的方法 - 在 vi​​ewWillAppear 中更新表视图。

    【讨论】:

      猜你喜欢
      • 2012-05-25
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 2020-07-17
      • 2020-01-24
      相关资源
      最近更新 更多