1

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

或者我是否需要在每个reloadData更新数组的地方接受调用?

4

1 回答 1

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需要匹配插入物告诉它要做的事情。如果您向 tableview 添加一行,请确保支持数据已更新以匹配。

进一步参考

苹果开发者文档

于 2013-07-31T09:27:07.070 回答