iOS错误消息:原因:' - [__ NSArrayM长度]:

时间:2012-07-31 16:14:55

标签: ios debugging count nsarray

所以我收到此错误消息

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'

1 个答案:

答案 0 :(得分:4)

看起来像释放问题。确保您的媒体资源声明为strongretain

编辑:

根据以下评论,您的tourArray似乎包含NSMutableArray而不是NSString