gpt4 book ai didi

iphone - NSArray removeObjectAtIndex 错误

转载 作者:行者123 更新时间:2023-11-28 18:04:03 25 4
gpt4 key购买 nike

我正在使用下面的代码来检查一个对象是否存在,如果它存在则删除它:

if(titlescopy.count >= i)
{
if([[titlescopy objectAtIndex:i] isKindOfClass:[NSString class]])
{
[titlescopy removeObjectAtIndex:i];
}
}

但是,我收到了这个错误:

* Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]' * First throw call stack: (0x365a56c3 0x3881e97f 0x364f1055 0x494b 0x37fdb8d5 0x37fe7d75 0x37fe7a81 0x38001ddd 0x38001b97 0x172bd 0x3805f8e5 0x3805f897 0x3805f875 0x3805f12b 0x3805f621 0x37f87d29 0x37f74f29 0x37f74843 0x34ea25d3 0x34ea2203 0x3657a593 0x3657a537 0x365793b9 0x364ec39d 0x364ec229 0x34ea131b 0x37fc88f9 0x283b 0x2798) libc++abi.dylib: terminate called throwing an exception (lldb)

为什么会这样?我使用的代码应该在尝试删除对象之前检查该对象是否存在,但显然不存在。

谢谢!

最佳答案

Objective-C 中的数组索引从 0 开始,因此 i = titlescopy.count 超出范围。将您的 if 语句更改为:

if(titlescopy.count > i)

关于iphone - NSArray removeObjectAtIndex 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331542/

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