自动刷新 UITableView 帮助
Posted
技术标签:
【中文标题】自动刷新 UITableView 帮助【英文标题】:Auto-refresh UITableView Help 【发布时间】:2010-04-19 19:22:18 【问题描述】:我正在尝试每 30 秒用新单元格刷新 UITableView。我的数组包含 30 个元素,对于添加到数组中的每个新项目,我想删除表中的最后一个单元格。我该怎么做?
【问题讨论】:
【参考方案1】:要每 30 秒刷新一次,请使用 NSTimer。
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:30
target:self selector:@selector(refreshTable)
userInfo:nil repeats:YES];
在您的-refreshTable
中添加该新项目。确保您的数据源和表格同步。
-(void)refreshTable
...
// modify the data source.
[items removeLastObject];
[items insertObject:newItem atIndex:0];
// modify the table.
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:
[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]]
withRowAnimation:withRowAnimation:UITableViewRowAnimationRight];
[tableView deleteRowsAtIndexPaths:
[NSArray arrayWithObject:[NSIndexPath indexPathForRow:29 inSection:0]]
withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
...
请参阅Table View Programming Guide for iPhone OS,了解如何执行批量插入和删除。
【讨论】:
@Sheehan:如果您以后不使用它,请不要分配给timer
变量。但是,如果您想在某个时间终止 30 秒刷新,请将其保留在一些 ivar 中。
为什么要删除最后一个对象?以上是关于自动刷新 UITableView 帮助的主要内容,如果未能解决你的问题,请参考以下文章