自动刷新 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 帮助的主要内容,如果未能解决你的问题,请参考以下文章

自动刷新 JSON

在uitableview中使用UIRefreshControl

UITableView 刷新不滚动

iOS开发UI篇—实现UITableview控件数据刷新

iOS开发UI篇—实现UItableview控件数据刷新

如何自动刷新网页?