Я знаю, что есть много сообщений об этом, но я пробовал все, и ничего не сработало. Поэтому я попытался передать объект между двумя контроллерами представлений, в DBKIngredientsViewController, встроенный в элемент навигации. У меня есть push segue с идентификатором «showIngredientsSegue» в DBKIngredientsViewController. Сообщение об ошибке я получаю это:передавать данные для просмотра контроллера с помощью раскадровки segue iOS
'NSInvalidArgumentException', reason: '-[DBKIngredientsViewController topViewController]: unrecognized selector sent to instance 0x8a92450'
вид контроллера, к которому я segueing встроен в контроллер навигации, который я думаю, Мессинг его. Каким образом это происходит? Чтобы быть ясным, DBKViewController уже встроен в контроллер навигации, а push-сегмент толкает 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
Хмм, я попробовал это. Это ошибка: Предупреждение: Попытайтесь представить в во время презентации! –
user1657563
Тогда проблема заключается в том, как вы представляете контроллер вида. Как выглядит контроллер представления? Вы увольняете модальность и толкаете в одно и то же время или одновременно нажимаете дважды? – Ric
Думаю, это два толчка? Первый контроллер представления помещается поверх корневого контроллера навигационного представления. Затем я подталкиваю DBKIngredientsViewController в segue. – user1657563