0

所以我收到了这个错误信息

reason: '-[__NSArrayM length]:

在我的程序中执行此行时

if (indexInTour == [tourArray count]-1) 

我不明白,因为这两个值都是在运行时定义的。

当从一个视图控制器推送视图控制器时,此代码运行良好,但从另一个视图控制器推送时会崩溃。

另外,我很困惑为什么

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'
4

1 回答 1

4

它看起来像释放问题。确保您的属性被声明为strongor 或retain

编辑:

tourArray根据下面的评论,您的contains似乎NSMutableArray不是NSString.

于 2012-07-31T17:08:35.853 回答