【エラー】NSArrayM objectAtIndex index 2 beyond bounds [0 .. 1]みたいなエラー

メモ程度に書きます。

題名のようなエラーが出た場合、配列にその要素数がないのにアクセスしようとしてます。


たとえばですが、

NSArray *array;
array = [[NSArray alloc] initWithObjects:@"一個",@"二個",@"三個",nil];

みたいにあって、この配列要素にアクセスするのって、

//このメッセージ式では「一個」というのにアクセスしてます。
[array objectAtIndex:0]

素数的には3つなんですが、たとえばこれを

//このメッセージ式では4番目の要素がないにも関わらずアクセスしている
[array objectAtIndex:3]

すると、エラーですね。

配列の要素数は間違えないようにしてくださいね。

補足として、配列要素を数えるには、

[array count];

のようにすると、数を返してくれます。


エラーは未然に防ぐように努力しよう。



======================
当ブログ管理人のツイッターこちら
◎フォローしてくださると泣いて喜びます!ツイッター上で当ブログの質問などにもできるだけお答えしますし、役に立つiPhoneアプリ開発情報もつぶやきます。個人的なご依頼(たとえば、プログラミングの家庭教師、Skypeレッスンをしてくれないか、iPhoneアプリ開発の勉強会ってやってるの、とかですね)でもかまいません。
スカイプレッスンについて
開発をしているとその都度ぶつかる問題があると思いますが、検索で調べてもなかなかわからない、あるいは調べても非常に時間がかかる場合があると思います。開発者のみなさんもお忙しいと思いますので、私のレッスンを受けながら開発を進めていただけると、大幅にお時間を短縮できます。加えて、iPhoneアプリ開発の基礎、応用が身につき、今後の開発もスムーズに進められます

お問い合わせはツイッター、またはhiyoshimarukoアットマークgmail.comまでお願いします。(アットマークを@にしてください)お待ちしております!