Во-первых, я использую раскадровку для создания двух uiviewcontroller: firstviewcontroller и secondviewcontroller. И с помощью 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, как решить эту проблему?