多次页面跳转后pop回主界面的问题

最近写代码的时候出了点BUG, 查阅资料后终于解决了. 问题原因大概是: 项目中所有的viewController都是继承自一个封装好的viewController. navigationbar, navigationbaritem所有的方法都是大神自己写的.所以pop回主界面不知道怎么的会跳转到登录界面, 下面说我解决的方法: 

比如先从A界面跳到B界面,再从B界面跳到C界面,最后需要从C界面直接跳转到A界面,在这里我讲讲解直接从C界面跳转到A界面的方法。在iOS开发中,我们通常用得最多的页面跳转方式就是通过NavigationBar的push和pop跳转方法,下面这种跳转方法也是基于NavigationBar的跳转方法。因为NavigationBar跳转时候实际是将各个页面放在一个栈里面,需要往上层跳转时候只需要遍历一遍栈,找到自己想跳转的那个页面。

HomeViewController *homeVC = [[HomeViewController alloc] init];
                  UIViewController *target = nil;
                  for (UIViewController * controller in self.navigationController.viewControllers) { 
                      if ([controller isKindOfClass:[homeVC class]]) {
                          target = controller;
                      }
                  }
                  if (target) {
                      [self.navigationController popToViewController:target animated:YES]; 
                  }
原文地址:https://www.cnblogs.com/Cheetah-yang/p/4835522.html