0
因此,讓我說我在viewcontroller,C和我想轉換到viewcontroller D(這是voteView這裏)。因此,這裏是我所做的:UINavigationController與popToRootViewController問題
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];
運行上面的代碼,它打印列表視圖,這意味着RootViewController的是ListViewController。現在在VoteViewController,當我做如下:
if ([[viewControllers objectAtIndex:0] isKindOfClass:[ListViewController class]]){
NSLog(@"LIST VIEW");
它應該打印列表視圖,但它沒有。爲什麼是這樣?我也檢查了視圖控制器的數量,它只有2個。爲什麼它不同?