我正试图将行添加到我的表中查看如下:
[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];