Ios TableView';s insertRowsAtIndexPaths添加了错误的名称

Ios TableView';s insertRowsAtIndexPaths添加了错误的名称,ios,xcode,animation,tableview,Ios,Xcode,Animation,Tableview,我遇到了一个奇怪的问题,当我向tableView添加新用户名并按以下方式插入它时(如果我只是简单地重新加载表数据,则不会发生这种情况),这些名称总是“显示”与索引0处的用户名相同。当我切换视图并返回到tableView时,一切正常,新用户名将其名称更改为“返回到其假定名称”。也许我的电脑有问题?希望有人能帮忙。谢谢大家! NSIndexPath *path1 = [NSIndexPath indexPathForRow:0 inSection:0]; NSArray *indexArray =

我遇到了一个奇怪的问题,当我向tableView添加新用户名并按以下方式插入它时(如果我只是简单地重新加载表数据,则不会发生这种情况),这些名称总是“显示”与索引0处的用户名相同。当我切换视图并返回到tableView时,一切正常,新用户名将其名称更改为“返回到其假定名称”。也许我的电脑有问题?希望有人能帮忙。谢谢大家!

NSIndexPath *path1 = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray *indexArray = [NSArray arrayWithObjects:path1,nil];

[self.tableView beginUpdates];

[self.tableView insertRowsAtIndexPaths:indexArraywithRowAnimation:UITableViewRowAnimationLeft];

[self.tableView endUpdates];

您需要在索引路径中插入新名称所在的行,而不是第0行。因此,如果您执行了类似于
[self.mutableNames insertObject:@“name”atIndex:4]
的操作来将名称添加到数据中,那么您需要为插入的行创建索引路径,如
[nsindepath indexPathForRow:4第0节]
,谢谢!但是如果我在列表中没有特定的顺序,我怎么知道在哪里添加条目?@LinusAn,不客气。您现在如何确定在何处插入用户名?在用户输入用户名并按下“确定”后,该名称将分配给一个新的核心数据条目并保存,然后我更新作为表源的数组(该数组获取其条目的数据库->数组=所有db条目)。然后调用insertRowsAtIndexPaths方法。也许这是完全错误的方式?@LinusAn啊,我明白了。如果确实需要执行新的获取,则可以保留一个指向
NSManagedObject
的指针,并在数组中获取其索引,然后将行插入其中。如果您不需要再次获取,那么我建议您只需将新对象附加(或预加)到现有数组中,然后在index
array.count-1处插入该行(如果您已预加,则插入0)。有道理?