DBKIngredientsViewController

DBKIngredientsViewController

我知道有很多关于此的帖子,但是我已经尝试了所有方法,但没有任何效果。因此,我尝试将一个对象在两个视图控制器之间传递给嵌入在导航项中的DBKIngredientsViewController。我有一个标识符为“showIngredientsSegue”的推送脚本到DBKIngredientsViewController。我收到的错误消息是:

'NSInvalidArgumentException',原因:'-[DBKIngredientsViewController topViewController]:无法识别的选择器已发送到实例0x8a92450'

我所选择的视图控制器是嵌入在导航控制器中的,我认为这很混乱。这是怎么回事?需要明确的是,DBKViewController已经嵌入在导航控制器中,而推推功能则是在推动DBKViewController而不是将其嵌入的导航控制器。我尝试了不同的方法,但似乎没有任何效果。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"showIngredientsSegue"]){

        UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
        DBKIngredientsViewController *controller = (DBKIngredientsViewController *)navController.topViewController;
        controller.targetRecipe = selectedRecipe;
    }
}
ios - 使用Storyboard Segue iOS将数据传递到 View  Controller-LMLPHP

最佳答案

您确定segue.destinationViewControllerUINavigationController吗?看来这只是一个DBKIngredientsViewController,所以应该可以使用:

DBKIngredientsViewController *controller = (DBKIngredientsViewController *)segue.destinationViewController

另外,如果DBKViewController已经具有导航控制器,那么如果您要推送DBKIngredientsViewController,则不需要第二个。如果您要模态显示DBKIngredientsViewController,则只需要第二个。

关于ios - 使用Storyboard Segue iOS将数据传递到 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19739037/

10-09 09:56