TabBarController в SubView - PullRequest
       29

TabBarController в SubView

1 голос
/ 15 мая 2011

В моем MainWindow.xib у меня есть следующая структура:

-Files Owner
-First Responder
-MyApp App Delegate
-Window
-Tab Bar Controller
--Tab Bar
--Selected Recipes Nav Controller (recipes) - The class is set to a subclass of UINavigationController
--Other tabs…

У меня есть представление сведений для редактирования, которое содержит вкладки для каждого из разделов, которые можно редактировать, поэтому структура выглядит следующим образом:

-Files Owner
-First Responder
-Tab Bar Controller
--Tab Bar
--Selected View Controller (recipes) - The class is set to a subclass of UINavigationController
---Scroll View
----UITextField (txtName)
----UITextField (txtDescription)
--Other tabs…

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

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

Я считаю, что это может быть вызвано наличием двух контроллеров вкладок.Я пробовал следующее, чтобы показать новое подробное представление, но все выдают одно и то же исключение:

MyAppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
//[delegate.recipesNavController pushViewController:recipeDetailViewController animated:YES]; //- fails 
//[delegate.rootController presentModalViewController:recipeDetailViewController animated:YES]; //- fails
[self presentModalViewController:recipeDetailViewController animated:YES]; //- also fails

РЕДАКТИРОВАТЬ: Сейчас я не уверен, как заменить егоUISegmentedControl приводит к схожей ошибке:

этот класс не совместим со значением кода для ключа generalScroller. '

Ответы [ 3 ]

0 голосов
/ 15 мая 2011

Сообщения об ошибках iOS обычно довольно точные: какой класс говорит, что он не совместим с KV? Где-то вы настраиваете KVO с помощью txName и / или generalScroller, и что-то либо не слушает их, либо прослушивает неверно написанное имя ключа.

0 голосов
/ 16 мая 2011

Проблема заключалась в том, что я неправильно объявлял контроллер представления.Я использовал:

RecipeDetailViewController *dvController = [[RecipeDetailViewController alloc] initWithNibName:@"RecipeDetailEditView" bundle:nil];

Когда мне было нужно:

RecipeDetailEditViewController *dvController = [[RecipeDetailEditViewController alloc] initWithNibName:@"RecipeDetailEditView" bundle:nil];
0 голосов
/ 15 мая 2011

Вы должны взглянуть на это , похоже, это помогло здесь .

...