お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

NSMutableArrayでエラーがおこってるぞー

以下のエラーがでた。

Terminating app due to uncaught exception ‘NSRangeException’, reason:

‘*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array’


ぐぐってみたところ、
人様のサイトにこのようなことが書いてある!

                      • -

NSMutableArray:配列をobjectAtIndexで見に行ったら空だった
私の場合、配列に整数をそのままオブジェクトとして追加していた
整数はそのままではオブジェクトとして追加できないので、
NSNumberでくるんでやる必要がある
NSNumber *y1 = [NSNumber numberWithInt:[yy1 intValue]];
[holidayY1 insertObject:y1 atIndex:k];

                    • -


んー。
あたしの場合、
「実際何も入力してないけ、こうなってるのではないか」
という推測と、(つまりこのケースの逃げ道を作ってやる)
「整数のまま入れてる」(つまり、オブジェクトつくってあげる)
って2つの原因が考えられるな。


けど、空箱があったところで
その中身がない!
って驚いてエラーになっちゃうの?


でもなんやっけ。
どっかでobjective-Cは、
空箱だったりしても自動でスルーして処理を続けちゃう
ていう「なんちゃら」とかいう特徴があるとか見た気がする...
ということは後者?
んー、でも逃げ道を作ってあげることは
どちらにしても必要そうだな。


なおさなきゃ。