我正在尝试每隔30秒刷新一个带有新单元格的UITableView。我的数组包含30个元素,对于我添加到数组中的每个新项目,我想删除表格中的最后一个单元格。我怎么能这样做呢?
答案 0 :(得分:6)
要每30秒刷新一次,请使用NSTimer。
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:30
target:self selector:@selector(refreshTable)
userInfo:nil repeats:YES];
在-refreshTable
中添加该新项目。确保您的dataSource和表格同步。
-(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。