当我试图在我的segue中设置一个属性时,出现了崩溃。这是一个UIView将一个属性传递给具有TableView作为根视图的导航控制器。它应该前往我的TableViewController,但看起来被那个导航控制器拦截并抛出了一个未识别选择器错误。
Segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showItems"]) {
ShowItemsTableViewController *destinationViewController = [segue destinationViewController];
[destinationViewController setItems:[self itemsFromCoreData]];
}
}
错误:
- [UINavigationController setItems:]:向实例0x10920c840发送的未识别的选择器
这是怎么回事?该NavigationController没有与其关联的类,它只在storyboard中出现并以模态方式出现。如果我将storyboard中的segue设置为直接进入视图而不是NavigationController,则可以正常工作,但我确实需要nav。我该如何解决这个问题?
segue.destinationViewController.topViewController
- Kevin QiUIStoryboardSegue
上添加一个类别方法,以确定destinationViewController
是否为UINavigationController
,如果是,则返回其topViewController
,否则直接返回它。 - Benjohn