У меня есть мнение, что корень представляет навигационный контроллер с контроллером контента, это то, как он выглядит: iPhone представляет и отклоняет навигационный контроллер просмотра в раскадровки?
NavigationController представлен модально и ProjectTypeSelectionView его корневой контроллер. Когда вы нажимаете кнопку выхода из системы, я хочу отказаться от модального представления и вернуться к LoginScreenViewController.
Так я установил в prepareSegue LoginScreen в качестве делегата:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UINavigationController *destination = segue.destinationViewController;
if ([[destination ] respondsToSelector:@selector(setDelegate:)]) {
NSLog(@"%@", destination);
[destination setValue:self forKey:@"delegate"];
}
}
, а затем внутри ProjectTypeViewController добавить этот метод:
- (IBAction)logout:(id)sender {
[self.delegate projectTypeSelectionViewControllerDidFinish];
}
который вызывается при нажатии кнопки выхода из системы сливают. К моему удивлению, это не увольняет диспетчера. Ничего не происходит, даже ты все подключен.
Я проследил ошибку в этом - когда prepareSegue называется NavigationController's delagate установлен в LoginScreenViewController, в который входит назначение делегата ProjectTypeController в LoginScreenViewController.
Как я могу решить это правильно?