gpt4 book ai didi

ios - insertRowsatIndexPath 异常 iOS

转载 作者:行者123 更新时间:2023-11-29 03:32:00 26 4
gpt4 key购买 nike

* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将第 0 行插入第 0 部分,但更新后第 0 部分中只有 0 行”

我意识到这里的问题是我试图向 tableView 添加一个单元格,但它不希望它不添加一个单元格,我不明白为什么。

- (IBAction)addNewIngredient: (id) sender
{
NSString *newIngredient = [recipe createIngredient];
[[recipe ingredients]addObject:newIngredient];

//figure out where that item is in the array
int lastRow = [[recipe ingredients]indexOfObject: newIngredient];

NSIndexPath *ip = [NSIndexPath indexPathForRow:lastRow inSection:0];

NSLog(@"Added a new ingredient!");

[[self tableView] insertRowsAtIndexPaths:[NSArray arrayWithObject:ip] withRowAnimation:
UITableViewRowAnimationTop];


}

为了澄清我在这里想做的事情:

recipe 有一个属性 Members,它是一个 NSString 数组。我正在将一个对象添加到成分数组中(这会自动增加数组计数还是必须手动执行?)...

然后我用“int lastRow = [[recipe Members]indexOfObject:newIngredient]”找出该项目在数组中的位置然后获取指向那里的索引路径。然后将该成分插入到 tableView 中。

最佳答案

异常的原因是,当您插入行时,您的 numberOfRowsInSection 将再次被调用。

此时,您的数据需要更新,以便如果您有 0 行并向其中插入 1 行,则该函数将返回 1

关于ios - insertRowsatIndexPath 异常 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19643014/

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