使用动态数据重用UITableView的最佳方法?

时间:2008-11-27 04:24:55

标签: iphone cocoa-touch uitableview

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

另一种方法是,如果在显示视图时数据始终存在,那么就是你所建议的 - 在viewWillAppear中更新表视图。