Исключение:нераспознанный селектор… при попытке поместить контроллер представления в стек навигации
-
22-07-2019 - |
Вопрос
Я пытаюсь поместить контроллер представления в стек навигации с помощью следующего кода в моем методе buttonPressed
-(IBAction) viewButtonPressed:(id)sender {
PersonDetailViewController *personDetailViewController = [[PersonDetailViewController alloc] initWithNibName:@"PersonDetailViewController" bundle:nil];
[self.navigationController pushViewController:personDetailViewController animated:YES];
[personDetailViewController release];
}
Я запустил отладчик, и он выдает исключение после перехода следующей строки из приведенного выше кода.
[self.navigationController pushViewController:personDetailViewController animated:YES];
Это вполне стандартный звонок...раньше уже много раз работало без проблем.Есть идеи, чего мне здесь не хватает?Я застрял на этом этапе и не могу углубляться дальше.
Вот сообщения об ошибках на консоли после запуска отладчика
2009-10-30 18:15:11.127 Untitled[6089:20b] * -[изображение NCFString]:Непознанный селектор, отправленный в экземпляр 0x3050 2009-10-30 18: 15: 11.129 без названия [6089: 20b] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString image]: unrecognized selector sent to instance 0x3050'
2009-10-30 18:15:11.130 Untitled[6089:20b] Stack: (
807902715,
2460638779 ...
Решение
Проблема была в одном из методов инициализации, где я неправильно устанавливал элемент кнопки «Назад».
Другие советы
Я бы начал с изучения методов жизненного цикла представления: viewWillAppear
, viewDidAppear
и т. д.- в PersonDetailViewController
класс для вызова метода с именем image
на каком-то экземпляре объекта.
Вы также можете попробовать выполнить эти методы, чтобы сузить область выполнения этого вызова.