Хорошо, у меня есть частичный ответ - может быть, гуру могут объяснить еще немного. Проблема:
[self.navigationController pushViewController:myViewController animated:YES];
Если присмотреться поближе, то в данном случае self.navigationController
равно нулю, поэтому push-сообщение не идет никуда.
Вместо этого, если я отправлю:
[self.view addSubview:self.myViewController.view];
Затем появляется представление и вызывается -viewDidLoad
.
Я не совсем уверен, почему self.navigationController
не установлен в этом случае - единственное, о чем я могу думать, это то, что self
является подклассом UIViewController
, а не UITableViewController
(где pushViewController
код пришел)
Кроме того, молчаливое разрешение отправлять сообщения на ноль кажется плохой идеей, хотя эти ответы говорят об обратном. Смотрите также мой вопрос здесь .
Окончательное редактирование:
Ответы в комментариях ниже, я понял, что функция отображения, за которой я на самом деле следовал (учитывая, что myViewController является модальной):
[self presentModalViewController:myViewController animated:YES];
Спасибо всем за полезные ответы.