我有一个显示tableview
的简单NSMutableArray
,但是当添加项目时,我需要执行 [self.tableView reloadData]
;
如何在更新阵列时更新UITableView,就像我使用CoreData
(NSFetchedResultControlerDelegate
我认为更新更新一样)。
或者我是否需要在更新阵列的每个场所接受 reloadData
来电?
答案 0 :(得分:3)
尝试以下代码
// adding new data to array.
[mArray addObject:@"abc"];
// Figure out where that item is in the array
int lastRow = [mArray count]-1;
// Create the corresponding index path
NSIndexPath *ip = [NSIndexPath indexPathForRow:lastRow inSection:0];
// Insert this new row into the table
[[self tableView] insertRowsAtIndexPaths:[NSArray arrayWithObject:ip]
withRowAnimation:UITableViewRowAnimationTop];
注意:
使用insertRowsAtIndexPaths
时要记住的重要一点是,UITableViewDataSource
需要匹配插件告诉它的内容。如果向表视图添加行,请确保已更新后备数据以匹配。
进一步参考