在UIPageViewController上崩溃,试图向Model添加新页面

时间:2014-12-06 14:14:18

标签: ios objective-c uipageviewcontroller

我想在xcode中向page-based项目添加新页面,DataViewController占据整个屏幕,因此我无法在RootVC上添加任何按钮。因此,当我在IBAction上添加DataVC时,会发生崩溃,我不明白为什么,例外只是说

  

线程1,断点1.1

以下是代码:

//in DataVC, not sure if it is ok to create the DataVC inside itself
- (IBAction)addOne:(id)sender {
    DataViewController *dvc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"DataViewController"];
    [[ModelController sharedModelController] addOneToModel:dvc];
}

//in ModelController
-(void) addOneToModel:(DataViewController*)dvc{
    [self.pageData addObject:dvc];//ERROR HERE: not much details : "thread 1, breakpoint 1.1"
}

//the sharedMOdelController 
+(instancetype)sharedModelController{
    static dispatch_once_t once;
    static ModelController *sharedInstance;
    dispatch_once(&once, ^{
        sharedInstance = [[ModelController alloc] init];
    });
    return sharedInstance;
}

1 个答案:

答案 0 :(得分:0)

你将不得不做更多的侦探工作。记录新创建的DataViewController以确保它不是nil,并且是您认为的那种对象。

您也可能在该行有一个断点而无法看到它。 Xcode IDE和调试器命令行维护单独的断点列表,我看到断点从IDE中消失但仍显示在调试器命令行中。你试过继续吗?

您可能还想禁用所有断点,看看会发生什么。

您可能还想尝试为所有Objective-C异常添加异常断点。有时,当发生异常时,它会提供更多信息。