presentModalViewController: animated: сбой после увольнения - PullRequest
0 голосов
/ 25 мая 2009

У меня сейчас проблема с UIViewController presentModalViewController:animated:.

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

UINavigationController *navigationController = [[UINavigationController alloc] init];
AddSerialController *serialController = [[AddSerialController alloc] initWithNibName:@"AddSerial" bundle:nil];
[navigationController pushViewController:serialController animated:NO];

[self.parentViewController presentModalViewController:navigationController animated:YES];

[serialController release];
[navigationController release];

Приложение (запущенное в iPhone Simulator) вылетает, как только вызывается dismissModalViewControllerAnimated:. GDB говорит, что он падает на objc_msgSend.

Если я закомментирую последнюю строку кода (выпуск контроллера навигации), все работает, но у меня есть UINavigationController (как и ожидалось).

Что, черт возьми, здесь происходит?

1 Ответ

2 голосов
/ 25 мая 2009

Когда вы создаете UINavigationController, вы должны предоставить ему контроллер корневого представления:

AddSerialController *serialController = [[AddSerialController alloc] initWithNibName:@"AddSerial" bundle:nil];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:serialController];

[serialController release];

[self.parentViewController presentModalViewController:navigationController animated:YES];

[navigationController release];

...