使用数组中的新项更新UITableView

时间:2013-07-31 09:20:16

标签: objective-c uitableview nsmutablearray

我有一个显示tableview的简单NSMutableArray,但是当添加项目时,我需要执行 [self.tableView reloadData] ;
如何在更新阵列时更新UITableView,就像我使用CoreDataNSFetchedResultControlerDelegate我认为更新更新一样)。

或者我是否需要在更新阵列的每个场所接受 reloadData 来电?

1 个答案:

答案 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需要匹配插件告诉它的内容。如果向表视图添加行,请确保已更新后备数据以匹配。

进一步参考

Apple Developer Docs