だから私はこのエラーメッセージを受け取っています
reason: '-[__NSArrayM length]:
この行が私のプログラムで実行されるとき
if (indexInTour == [tourArray count]-1)
どちらの値も実行時に定義されるため、わかりません。
このコードは、View Controller が 1 つの View Controller からプッシュされると正常に実行されますが、別の View Controller からプッシュされるとクラッシュします。
また、なぜ私は混乱しています
NSLog(@"%i", [tourArray count]);
正常に動作しますが、
if (indexInTour == [tourArray count]-1) // Crashes here
しません。
いくつかの追加情報:
コード:
NSLog(@"%i", [tourArray count]);
NSLog(@"%i", indexInTour);
NSLog(@"%@", NSStringFromClass([tourArray class]));
// NSLog(@"%@", tourArray);
if (indexInTour == [tourArray count]-1) // Crashes here
出力:
2012-07-31 09:46:10.268 XXX[13374:11603] 7
2012-07-31 09:46:10.269 XXX[13374:11603] 2
2012-07-31 09:46:10.270 XXX[13374:11603] __NSArrayM
完全なエラー メッセージ:
-[__NSArrayM length]: unrecognized selector sent to instance 0x7a97f60
2012-07-31 09:50:26.696 XXX[13456:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM length]: unrecognized selector sent to instance 0x7a97f60'