gpt4 book ai didi

iphone - 两行被删除,而不是我的代码中的一行

转载 作者:行者123 更新时间:2023-12-03 17:23:52 26 4
gpt4 key购买 nike

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

{

if(editingStyle==UITableViewCellEditingStyleDelete)

{

NSManagedObjectContext *context=[appDelegate managedobjectcontext];

NSManagedObject *entity=[NSEntityDescription insertNewObjectForEntityForName:@"DataObject" inManagedObjectContext:context];

for(int i=0;i<[saveddata count];i++)

{

entity=[saveddata objectAtIndex:indexPath.row];

[context deleteObject:entity];

[array removeObjectAtIndex:indexPath.row];

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:YES];

NSError *error=nil;

if(![context save:&error])

{

//handle the error.

}

}

最佳答案

有没有使用for循环的理由?之所以删除它们,是因为在for循环中返回时,tableView已删除该行,并且它将下一行向上移动一个单位。更详细地讲,如果您有3行并删除indexPath.row = 1处的行,则indexPath.row = 2处的行将移至indexPath.row = 1处。
另外,我建议也从创建表视图时使用的数组中删除对象。

关于iphone - 两行被删除,而不是我的代码中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com