pasar los datos para ver el controlador usando storyboard segue iOS

Sé que hay muchas publicaciones sobre esto, pero he intentado todo y nada ha funcionado. Así que he intentado pasar un objeto entre dos controladores de vista, a un DBKIngredientsViewController integrado en un elemento de navegación. Tengo un segmento de inserción con el identificador "showIngredientsSegue" al DBKIngredientsViewController. El mensaje de error que recibo es:

'NSInvalidArgumentException', razón: '- [DBKIngredientsViewController topViewController]: selector no reconocido enviado a la instancia 0x8a92450'

El controlador de vista al que estoy segueing está integrado en un controlador de navegación, que creo que lo está arruinando. ¿Cuál es la forma de evitar esto? Para que quede claro, el DBKViewController ya está incorporado en un controlador de navegación, y el segmento de empuje empuja el DBKViewController, no el controlador de navegación que lo incrusta. Lo he intentado de diferentes maneras pero ninguna 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