passar dados para ver o controlador usando o storyboard segue iOS

Eu sei que há muitas postagens sobre isso, mas eu tentei de tudo e nada funcionou. Então eu tentei passar um objeto entre dois controladores de exibição, para um DBKIngredientsViewController incorporado em um item de navegação. Eu tenho um push segue com o identificador "showIngredientsSegue" para o DBKIngredientsViewController. A mensagem de erro que recebo é:

'NSInvalidArgumentException', motivo: '- [DBKIngredientsViewController topViewController]: seletor não reconhecido enviado para instância 0x8a92450'

O controlador de visualização para o qual estou seguindoing está embutido em um controlador de navegação, o que acho que está atrapalhando. Qual é o caminho em volta disso? Para ser claro, o DBKViewController já está embutido em um controlador de navegação, e o push segue empurra o DBKViewController, não o controlador de navegação que o embutiu. Eu tentei de maneiras diferentes, mas nenhuma parece funcionar.

-(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;
    }
}

IMG http://i39.tinypic.com/11joea1.png

questionAnswers(1)

yourAnswerToTheQuestion