NSRangeException - 为什么?

时间:2009-03-13 12:34:20

标签: objective-c cocoa cocoa-touch

这似乎是一个基本问题..但我的数组大小是64,我正在替换索引63处的对象。像这样:

[myMutableArray replaceObjectAtIndex:myIndex withObject:myObj];

所以我不知道为什么gdb告诉我这个:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (64) beyond bounds (64)'

为什么说我的索引是64?我正在63岁。

感谢。

1 个答案:

答案 0 :(得分:10)

在调用之前尝试NSLog'ing myIndex的值,或者查找可能导致此异常的其他位置。

尝试在Xcode中设置“异常断点”(这相当于打破-[NSException raise]和/或objc_exception_throw)以查看它的来源。 (有关异常断点的信息,请参阅here。)