2009-03-13 7 views
0

Dies scheint eine grundlegende Frage .. aber meine Array-Größe ist 64 und ich bin zu ersetzen, ein Objekt bei Index 63. So:NSRangeException - warum?

[myMutableArray replaceObjectAtIndex:myIndex withObject:myObj]; 

So habe ich keine Ahnung, warum gdb sagt mir dies:

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

Warum sagt es, dass mein Index 64 ist? Ich bin vorbei 63.

Danke.

Antwort

10

Versuchen Sie NSLog'ing den Wert von myIndex kurz vor dem Anruf, oder suchen Sie nach anderen Orten, die diese Ausnahme verursachen könnten.

Versuchen Sie, einen "Ausnahmeblock" in Xcode zu setzen (dies entspricht dem Brechen auf -[NSException raise] und/oder objc_exception_throw), um zu sehen, woher es kommt. (Siehe here über Ausnahme Breakpoints.)

+0

Ja, ich tat das, und es ist 63. – hyn

+0

Sind Sie sicher, dass dies die Zeile ist, die die Ausnahme verursacht? –

+0

Doh .. Entschuldigung, es passierte gleich nach diesem. Gelöst. – hyn

Verwandte Themen