Ios NSArrayM insertObject:atIndex::对象不能为nil';

Ios NSArrayM insertObject:atIndex::对象不能为nil';,ios,objective-c,uiview,uiviewcontroller,uncaught-exception,Ios,Objective C,Uiview,Uiviewcontroller,Uncaught Exception,经过大量搜索,并尝试使用stackoverflow上的一些解决方案,我没有找到任何可以解决我的错误的答案: 我有一个UIViewcontroller,名字叫WorldViewController。在这个UIViewcontroller中,我初始化了一些UIViews。我想从一些UIView中修改一些依赖于WorldViewController的变量。现在我把这些话写下来: WorldViewController * World = [[WorldViewController alloc] ini

经过大量搜索,并尝试使用stackoverflow上的一些解决方案,我没有找到任何可以解决我的错误的答案: 我有一个UIViewcontroller,名字叫WorldViewController。在这个UIViewcontroller中,我初始化了一些UIViews。我想从一些UIView中修改一些依赖于WorldViewController的变量。现在我把这些话写下来:

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:
”的行。您插入的对象显然为零


如果你找不到这一行,(单击链接查看与你的问题密切相关的答案中的具体说明),看看你是否可以在崩溃发生之前打断它。

我也有类似的问题。我的错误是没有将试图加载的视图标记为初始视图控制器。我的猜测是,没有初始视图控制器添加到数组中,因此对象为零。我不确定这是否能很好地回答你的问题,但它对我起了作用


没有提供足够的代码。我们需要查看
worldwiewcontroller
的init方法的一些实现问题是,我的代码中、我的viewcontroller或uiview中没有任何“insertObject:atIndex:”,只有在添加worldwiewcontroller*World=[[worldwiewcontroller alloc]init]时才会发生此错误;添加符号断点时会发生什么情况?它在哪里停止调试器?就在此行之前:WorldViewController*World=[[WorldViewController alloc]init];此行失败,我不知道WorldViewController
init
function内部发生了什么?[self.view addSubview:myUIView];有些方法被称为HNX,对我有用