Итак, допустим, что я нахожусь в viewcontroller, C, и я хочу перейти к viewcontroller D (который здесь - вот так :iewView).Итак, вот что я сделал:
VoteViewController * voteView = [[VoteViewController alloc] init];
voteView.voteInfo = [array objectAtIndex:0];
NSArray * viewControllers = [self.navigationController viewControllers];
if ([[viewControllers objectAtIndex:0] isKindOfClass:[ListViewController class]]){
NSLog(@"LIST VIEW");
} else if ([[viewControllers objectAtIndex:0] isKindOfClass:[SpotListingViewController class]]){
NSLog(@"SPOT LISTING");
}
[self.navigationController setViewControllers:[NSArray arrayWithObjects:[viewControllers objectAtIndex:0], [viewControllers objectAtIndex:1], voteView, nil]];
[voteView release];
Запустив приведенный выше код, он печатает LIST VIEW, что означает, что RootViewController является ListViewController.Теперь теоретически на VoteViewController, когда я делаю, как показано ниже:
if ([[viewControllers objectAtIndex:0] isKindOfClass:[ListViewController class]]){
NSLog(@"LIST VIEW");
он должен напечатать LIST VIEW, но это не так.Почему это?Я также проверил количество контроллеров представления, и это только 2. Почему это отличается?