Jam*_*son 0 iphone xcode objective-c nsarray ios
我正在使用以下代码检查对象是否存在,然后删除它:
if(titlescopy.count >= i)
{
if([[titlescopy objectAtIndex:i] isKindOfClass:[NSString class]])
{
[titlescopy removeObjectAtIndex:i];
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
*由于未捕获的异常'NSRangeException'终止应用程序,原因:'* - [__ NSArrayM objectAtIndex:]:索引2超出bounds [0 .. 1]' *第一次抛出调用堆栈:(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:终止调用抛出异常(lldb)
为什么会这样?我正在使用的代码应该在尝试删除它之前检查对象是否存在,但显然不是.
谢谢!
Objective-C中的数组索引从0开始,因此i = titlescopy.count超出范围.将您的if语句更改为:
if(titlescopy.count > i)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |