2012-12-16 93 views
0

我在iphone模拟器崩溃:碰撞在iPhone模拟器

终止应用程序由于未捕获的异常 'NsRangeException',原因 的NSMutableArray exchangeObjectAtIndex:withObjectAtIndex:]:索引6 超出界限[0..5] '

我该如何解决? THX

+1

你是在一个索引6的访问对象array..while数组只有6个对象[index - 0 - 5] ..尝试调试它 – Shubhank

回答

2

这个崩溃日志说明你有一个数组,但你引用的6索引,而该阵列只中有6个对象的意思应该有5个指标,因为索引从0开始计数的注解如下:

阵列(

第一对象 - 索引0

第二对象 - 索引1

第三对象 - 索引2

第四对象 - 指数3

第五对象 - 指数4

6对象 - 指数5

所以exchangeObjectAtIndex:withObjectAtIndex:不会因为其中一方工作,您提供了6的索引,但只有5个索引。

这里是一个工作演示的一个例子:

[array exchangeObjectAtIndex: 5 withObjectAtIndex: 2]; 

这是完全有效的,因为这两个指标是有效的数组。

这就是所谓的NSRangeException其中有一个很明显的名字,你的指数超出范围(太大了!)