我在Xcode上测试了一个应用程序,却收到此错误消息,说明已引发异常。使用调试器,我添加了一个异常断点,这导致了这一点:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationController.delegate = self;

    int index = [[NSUserDefaults standardUserDefaults] integerForKey:@"ChecklistIndex"];
    if (index != -1) {
        Checklist *checklist = [self.dataModel.lists objectAtIndex:index];
        [self performSegueWithIdentifier:@"ShowChecklist" sender:checklist];
    }
}


这是突出显示的行:

Checklist *checklist = [self.dataModel.lists objectAtIndex:index];


调试器这样说:

-[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array


我不太确定如何解决此问题。如果需要更多信息,请告诉我。谢谢。

最佳答案

您的self.dataModel.lists属性似乎为空。

您应该查看实际设置“ .lists”或“ dataModel”属性的位置。其中之一不是您认为的那样。

关于ios - objective-c 程序-引发异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22430727/

10-08 20:50