要求:A控制器push到B,由Bpush到D,然后由Dpop到A。
思路:当Apush到B的时候,在navigationController的控制器数组中添加C控制器同时将B控制器从控制器数组中移除。注意:navigationController的控制器数组是不变数组,我们需要一个可变的数组。
-(void)pushTest {
[self.navigationController pushViewController:D animated:YES];
NSMutableArray*tempMarr = [NSMutableArrayarrayWithArray : self.navigationController.viewControllers];
[tempMarr insertObject:C atIndex:tempMarr.count- 2];
[tempMarr removeObject:self]; //此时 的self 就是指 B ,因为在 B 中呢
[self.navigationController setViewControllers:tempMarr animated:YES];
}
文章链接:https://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=2655358359&idx=2&sn=52085f1d746e871a9a4da135ef527ad2&chksm=84e240bfb395c9a93a324b89275d52aaab974bdb496d594b636eab9398e4d4d275db3fd0124a&mpshare=1&scene=1&srcid=1109icj3FwX8vCVEEa6zV86y&pass_ticket=VGkcDcNMkBFst2lJijepvbpVPIJpMCo9sO3oRExEXsEs5YUWBA6Xc8MnXUVmFwz4#rd