2008-11-27 25 views
0

我的应用程序有一系列基于一些分层数据的表格视图。例如,用户在我的CategoryListController上选择“浏览XYZ”,然后根据该选择加载我的DocumentListController。重新使用UITableView与动态数据的最佳方法?

现在我通过返回一些JSON数据的Web服务来获取列表,但那不是重点。我可以从SQLite数据库中检索这个动态列表,并且我会有相同的底层挑战。

这里的问题是,由于DocumentListController中我的表视图的项目列表将根据用户点击哪个选择而发生更改,因此我必须在显示表视图后加载列表。

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

做这种事情的最佳方式是什么?

回答

0

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

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

相关问题