NSArrayM insertObject:atIndex:]:object不能为零'

经过大量的search,并尝试用一些解决scheme在stackoverflow,我没有find任何答案,可以解决我的错误:我有一个UIViewcontroller,谁的名字是WorldViewController。 在这个UIViewcontroller中,我已经初始化一些UIViews。 我想修改一些依赖于一些UIViews的WorldViewController的variables。 现在,我把这些线:

WorldViewController * World = [[WorldViewController alloc] init]; 

它给了我:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil' 

那么,如何解决呢? 它可能来自WorldViewController正在运行的事实吗? 那么,如何解决?

编辑我的viewcontroller的init方法

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization World1 = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)]; [World1 setBackgroundColor:[UIColor blackColor]]; [self.view addSubview:World1]; [World1 release]; [self.view addSubview:ViewPig]; [self.view addSubview:level1view]; [self.view addSubview:level2view]; [self.view addSubview:LoadView]; [LoadView AnimPigLoadingWith:PigChargement]; [LoadView AppearLabelLoading]; [self.view addSubview:FondPauseGrise]; [self.view addSubview:FondPause]; [self.view addSubview:BoutonResume]; [self.view addSubview:BoutonHome]; [self performSelector:@selector(Chargement) withObject:nil afterDelay:0.5]; [self performSelector:@selector(ViewAppears) withObject:nil afterDelay:5.5+2.5]; [self performSelector:@selector(LabelPrevientDepartWithImage:) withObject:Trois afterDelay:9]; [self performSelector:@selector(LabelPrevientDepartWithImage:) withObject:Deux afterDelay:10]; [self performSelector:@selector(LabelPrevientDepartWithImage:) withObject:Un afterDelay:11]; [self performSelector:@selector(LabelPrevientDepartWithImage:) withObject:Go afterDelay:12]; [self performSelector:@selector(Lancement) withObject:nil afterDelay:(3)]; [self performSelector:@selector(GestionMaps) withObject:nil afterDelay:(11+2)]; } return self; } 

谢谢 !

您在问题中没有列出足够的代码,无法显示出错的地方。

看看你的代码中的任何行,说“ insertObject:atIndex: ”。 你插入的对象显然是零。

如果你找不到这一行, 在符号“ [NSArray insertObject:atIndex:] ”上添加一个符号断点 (点击链接,查看与你密切相关的问题的答案中的具体说明),看看是否可以中断就在发生事故之前。

我有一个类似的问题。 我的错误是没有把我想加载的视图作为初始视图控制器。 我的猜测是,没有初始视图控制器添加到数组,因此该对象为零。 我不确定这个问题在回答你的问题方面有多好,但是对我有用。

在这里输入图像说明