Iphone模拟器崩溃

时间:2012-12-16 14:48:14

标签: ios

我在iphone模拟器中崩溃了:

  

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

我该如何解决? THX

1 个答案:

答案 0 :(得分:2)

此崩溃日志说明您有一个数组,但是您引用的索引为6,而该数组中只有6个对象,这意味着应该有5个索引,因为索引从0开始计数,如下所示:

  

数组(

     

第一个对象 - 索引0

     

第二个对象 - 索引1

     

第三个对象 - 索引2

     

第四个对象 - 索引3

     

第五个对象 - 索引4

     

第6个对象 - 索引5

     

所以exchangeObjectAtIndex:withObjectAtIndex:不起作用,因为在其中任何一个中,你提供的索引为6,但只有5个索引。

以下是工作演示的示例:

[array exchangeObjectAtIndex: 5 withObjectAtIndex: 2]; 

这完全有效,因为两个索引对数组都有效。

这被称为NSRangeException,其名称非常明显,您的索引超出范围(太大了!)