每次应用程序进入前台时重新加载UITableView

时间:2011-02-26 03:11:35

标签: iphone objective-c ios uitableview

这不仅仅是一个问题,也是一个建议请求。

每次应用进入前台时重新加载UITableView的资源是多么昂贵?

我需要完成的是根据当前日期更改UILabel单元格内UITableView的颜色,但是知道普通用户通常不会终止他们的应用并只是离开它在后台运行时,我会假设tableView: cellForRowAtIndexPath:方法在再次启动它时不会被调用,因此,UILabel不会相应地更新。

我知道reloadData方法会调用tableView: cellForRowAtIndexPath:方法 我的问题是,你是否建议每次应用程序进入前台时都不要调用此方法? 如果是这样,我还有其他选择吗?

提前谢谢你 非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

reloadData似乎可以在您的应用程序中使用。只要您检索数据的方法有效,它就不会太昂贵。不要将整个SQL数据库调用到数组,然后在每次刷新数据时获取屏幕上显示的5个值。只要你不做那样的事你应该没事。您可以在仪器中对此进行测试,并监控您的内存使用情况。

答案 1 :(得分:1)

reloadData只应为屏幕上实际可见的行调用tableView:cellForRowAtIndexPath:。它的速度主要取决于你的其他UITableViewDataSource和UITableViewDelegate方法,特别是高度相关的委托方法和the documentation中“配置表视图”列出的数据源方法。

最好的想法可能只是尝试并找出答案。