Почему self.navigationController становится нулевым? - PullRequest
1 голос
/ 18 сентября 2010

У меня есть этот код:

ViewController2 *childView = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
[self.navigationController pushViewController:childView animated:YES];

В первой строке self.navigationController есть значение.

Во второй строке его значение становится равным 0. Почему это так?

1 Ответ

2 голосов
/ 18 сентября 2010

Если вы не переопределили initWithNibName: bundle: в ViewController2, чтобы сделать что-то действительно неудачное, очень мало шансов, что то, что вы говорите, может быть правдой.

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

UINavigationController* navigationController = self.navigationController;
ViewController2 *childView = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
NSAssert(navigationController == self.navigationController, @"I was removed from the navigation controller!");
[self.navigationController pushViewController:childView animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...