NSRangeException - 为什么?

hyn*_*hyn 0 cocoa cocoa-touch objective-c

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

[myMutableArray replaceObjectAtIndex:myIndex withObject:myObj];
Run Code Online (Sandbox Code Playgroud)

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

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

为什么说我的索引是64?我63岁了.

谢谢.

Jes*_*sak 10

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

尝试在Xcode中设置一个"异常断点"(这相当于打破-[NSException raise]和/或objc_exception_throw)以查看它的来源.(请参阅此处有关异常断点的信息.)