【问题标题】:Crash in Iphone SimulatorIphone 模拟器崩溃
【发布时间】:2012-12-16 14:48:13
【问题描述】:

我在 iphone 模拟器中崩溃了:

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

我该如何解决? 谢谢

【问题讨论】:

  • 您正在访问数组索引 6 处的对象..而数组只有 6 个对象[索引 - 0 - 5] .. 尝试调试它

标签: ios


【解决方案1】:

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

数组(

第一个对象 - 索引 0

第二个对象 - 索引 1

第三个对象 - 索引 2

第 4 个对象 - 索引 3

第 5 个对象 - 索引 4

第 6 个对象 - 索引 5

)

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

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

[array exchangeObjectAtIndex: 5 withObjectAtIndex: 2]; 

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

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

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 2011-07-02
    • 2012-01-04
    • 2017-08-22
    • 2012-02-21
    • 2011-03-20
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多