我有一个简单tableview
的显示 a NSMutableArray
,但是当添加一个项目时,我需要做一个[self.tableView reloadData]
;
当数组更新时,如何使 UITableView 更新,就像我使用CoreData
(NSFetchedResultControlerDelegate
我认为是更新)一样。
或者我是否需要在每个reloadData
更新数组的地方接受调用?
我有一个简单tableview
的显示 a NSMutableArray
,但是当添加一个项目时,我需要做一个[self.tableView reloadData]
;
当数组更新时,如何使 UITableView 更新,就像我使用CoreData
(NSFetchedResultControlerDelegate
我认为是更新)一样。
或者我是否需要在每个reloadData
更新数组的地方接受调用?
试试下面的代码
// 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 添加一行,请确保支持数据已更新以匹配。
进一步参考