来自removeObjectsInRange的NSRangeException:但传递的范围在边界内

时间:2012-03-26 20:46:57

标签: objective-c cocoa-touch nsmutablearray nsrange

我收到以下错误,这没有任何意义。

  

*由于未捕获的异常'NSRangeException'而终止应用程序,原因:'* - [NSMutableArray removeObjectsInRange:]:范围{11,15}超出了界限[0 .. 15]'

我在这里做错了什么?我在数组的范围内。删除数组中的最后一个对象会导致问题吗?

1 个答案:

答案 0 :(得分:46)

NSRange的第二个字段是长度,而不是端点。您正尝试从索引11开始删除15个对象。

相反,你想要做的事情是:

[myArray removeObjectsInRange:(NSRange){11, 5}];