Когда я использую prepareForSegue для передачи значения контроллеру прицеливания, возникают некоторые проблемы

Во-первых, я использую раскадровку для создания двух uiviewcontroller :. контроллер первого вида и контроллер второго вида . И использование xcode для встраивания uinavigationcontroller в secondviewcontroller(редактор --> встроить в --> навигационный контроллер). Затем я также хочу использовать переход для передачи значения от первого ко второму. есть код:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"passValue"])
    {
        secondViewController *saveViewController = [segue destinationViewController];
        [saveViewController setValue:data forKey:@"data"];
    }
}

Но будет сообщение об ошибке, лог: Завершение работы приложения из-за неперехваченного исключения «NSUnknownKeyException», причина :«[setValue :forUndefinedKey :] :этот класс не соответствует кодированию значения ключа -для данных ключа».

Однако, когда я удаляю контроллер навигации, который я использую Xcode, чтобы вставить его и определить панель навигации по коду, эта проблема исчезнет. Я предполагаю, что причина в том, что реальный targetViewController — это navigationcontroller вместо secondviewcontroller . Итак, если я хочу зарезервировать навигационный контроллер, встроенный в Xcode, как решить эту проблему?

6
задан user1361168 20 August 2012 в 08:00
поделиться