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