передать данные для просмотра контроллера с помощью раскадровки Segue iOS

Я знаю, что есть много сообщений об этом, но я перепробовал все, и ничего не помогло. Поэтому я попытался передать объект между двумя контроллерами представления в DBKIngredientsViewController, встроенный в элемент навигации. У меня есть push-переход с идентификатором "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;
    }
}

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

Ответы на вопрос(1)

Ваш ответ на вопрос