我在 iphone 模拟器中崩溃了:
由于未捕获的异常“NsRangeException”而终止应用程序,原因是 NSMutableArray exchangeObjectAtIndex:withObjectAtIndex:]: index 6 beyond bounds [0 .. 5]'
我该如何解决?谢谢
我在 iphone 模拟器中崩溃了:
由于未捕获的异常“NsRangeException”而终止应用程序,原因是 NSMutableArray exchangeObjectAtIndex:withObjectAtIndex:]: index 6 beyond bounds [0 .. 5]'
我该如何解决?谢谢
此崩溃日志说明您有一个数组,但您引用的索引为 6,而该数组中只有 6 个对象,这意味着应该有 5 个索引,因为索引从 0 开始计数,如下注释所示:
大批 (
第一个对象 - 索引 0
第二个对象 - 索引 1
第三个对象 - 索引 2
第 4 个对象 - 索引 3
第 5 个对象 - 索引 4
第 6 个对象 - 索引 5
)
所以exchangeObjectAtIndex:withObjectAtIndex:
不会起作用,因为在其中任何一个中,您都提供了 6 的索引,但只有 5 个索引。
这是一个工作演示的示例:
[array exchangeObjectAtIndex: 5 withObjectAtIndex: 2];
这是完全有效的,因为两个索引都对数组有效。
这被称为NSRangeException
一个非常明显的名称,您的索引超出范围(太大!)