如果核心数据检查为空,我想将某个视图控制器和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];
}