Using iOS I Have 15 ViewControllers now I want to pop from one ViewController to another View Controller.
I am using this code:
SecondViewController *Sec=[SecondViewController alloc]init];
[self.navigationController popViewController:Sec animated:YES];
This shows error this ViewController not exist
and then I am using this code:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];
This code is right to pop from thirdViewController to secondViewController. But What happened when we pop from Ninth(9th)ViewController to Fifth(5th)ViewController then I am using this code in Ninth(9th)ViewController:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:4] animated:YES];
It does not pop from Ninth(9th)ViewController to Fifth(5th)ViewController apart that it pops Ninth(9th)ViewController to Eight(8th)ViewController. I don't know what happened when we use this line:
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
When we use this in Ninth(9th)ViewController
. NsLog shows:
array= First(1st)ViewController;
Second(2nd)ViewController;
Eight(8th)ViewController;
Ninth(9th)ViewController;
I don't know why only Four View Controllers show. Whenever I am using 15 View Controllers. This problem occurs in each view controller. For instance if I am Using pop form fifteenth(15th)ViewController to Fifth(5th)ViewController then same problem manifests.
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
array= First(1st)ViewController;
Second(2nd)ViewController;
fourteenth(14th)ViewController;
fifteenth(15th)ViewController;
I want to count Number of ViewControllers and then pop to specific ViewController.
First:
You can’t do this because you allocate a new
Sec
view controller that’s not in a navigation controller.Consider using this:
You are in 9 view controller
Try like this