iOS:NSInternalInconsistencyException当连接到新视图控制器时

时间:2016-05-02 22:31:28

标签: ios segue

如果核心数据检查为空,我想将某个视图控制器和segue留给不同的视图控制器。

从View WIllAppear调用核心数据检查。 现在,我有命令在核心数据拉动结束时进行转换。如果拉回空,那么我触发代码以转到另一个视图控制器。

当我要求IOS转到其他页面时,由于页面尚未加载,这会导致问题。但是,我真的不希望首先加载页面。

另外,我不希望将此代码移出viewWillAppear,例如viewDidLoad,因为我想在每次有人访问屏幕时对数据进行全新检查。

有人能建议正确的方法吗?

这是我的代码:

在viewWillAppear中:

[self updateInterface];

在updateInterface中:

self.item = [self getLatestItem:userid inManagedObjectContext:_managedObjectContext];
getLatestItem中的

 NSArray *matches = [_managedObjectContext executeFetchRequest:request error:&error];
        if (!matches ||[matches count]<1) {
            // handle error
             self.noNewItems=1;
 [self gotoListChallenges];
        }  else {
            NSLog(@"got at least one match");
            item = [matches lastObject];
        }
        return item;
}
- (void) gotoListItems {
     UIStoryboard *storyBoard = self.storyboard;
    listItemsVC *listVC =
    [storyBoard instantiateViewControllerWithIdentifier:@"listItems"];
     UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: listVC];
    [self presentModalViewController:nav animated:YES];
}

0 个答案:

没有答案