UITableView更新后重新加载数据



我正试图将行添加到我的表中查看如下:

[myArray addObject:@"Apple"];
[myTableView beginUpdates];
[myTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
[myTableView endUpdates];

问题是单元格无法刷新。textLabels与数据源数组没有对应关系。

我通过添加来解决问题

[myTableView reloadData];

但这会让漂亮的插入动画消失。

想法?谢谢

addObject:将一个对象添加到可变数组的末尾。然后,在下一行中,您告诉表视图,在表的顶部有一个新行要显示。除非您将数组"向后",否则看起来就像是在告诉表将单元格"插入"到错误的位置。

您将项添加到数组的末尾,但将行添加到表的开头。。。这样试试:

NSString* obj = @"Apple";
[myArray addObject:obj];
[myTableView beginUpdates];
[myTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:[myArray indexOfObject:obj] inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
[myTableView endUpdates];

最新更新