//OC
NSArray *array = [NSMutableArray new];
array = self.navigationController.viewControllers; //1、返回指定index的控制器
UIViewController *viewC = [array objectAtIndex:0];
[self.navigationController popToViewController:viewC animated:YES]; //2、
UIViewController *viewc = [UIViewController new];
for (viewc in array) {
if ([viewc isKindOfClass:[指定控制器 class]]) {
[self.navigationController popToViewController:viewcanimated:YES];
}
}

//3、

 [vcArr removeObject:strongSelf];

[self.navigationController setViewControllers:vcArr animated:NO];

 

2、Swift

//返回指定界面
let marr = NSMutableArray.init(array:(self.navigationController?.viewControllers)!)
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let PurposeVCName = type(of: 指定控制器名称())
if "\(PurposeVCName)" == "\(vcName)" {
self.navigationController?.popToViewController(vc, animated: true)
}
}
let marr = NSMutableArray.init(array:(self.navigationController?.viewControllers)!)
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let PurposeName = type(of: 指定控制器的后一个控制器名称())
if "\(PurposeName)" == "\(vcName)" {
let popVC = self.navigationController?.viewControllers[i-1]
self.navigationController?.popToViewController(popVC!, animated: true)
}
}
//将本控制器从导航栏控制器数组中移除,从而返回到跳转到本控制器的控制器
let marr = NSMutableArray.init(array(self.navigationController?.viewControllers)!)
let removeArr = NSMutableArray()
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let selfName = type(of: self)
if "\(selfName)" == "\(vcName)" {
removeArr.add(vc)
}
} if removeArr.count > 0 {
for i in 0..<removeArr.count {
let vc = removeArr[i] as! UIViewController
marr.remove(vc)
}
}
let array : NSArray = marr
self.navigationController?.viewControllers = array as! [UIViewController]

最新文章

  1. 【荐】PHP采集工具curl快速入门教程
  2. 浏览器-07 chromium 渲染1
  3. Codeforces Round #383 (Div. 2) A,B,C,D 循环节,标记,暴力,并查集+分组背包
  4. atitit.二进制数据无损转字符串网络传输
  5. sprintf
  6. 简单学习:repo入门
  7. MySQL(26):事务的隔离级别出现问题之 幻读
  8. Android的Manifest配置文件介绍
  9. NDN路由--OSPFN安装与配置
  10. Co-prime Array&amp;&amp;Seating On Bus(两道水题)
  11. Dreamer 框架 比Struts2 更加灵活
  12. 使用echarts,制作色温图
  13. Windows下Java环境变量配置
  14. Android绘制文字时垂直居中
  15. python学习之——习题二
  16. 五、UI开发之核心基础——约束(深入)
  17. kubectl常用命令
  18. 三角形垂点坐标js算法(三点定圆求圆心)
  19. JavaEE笔记(十三)
  20. linux centos 中Tomcat的安装和自启动配置

热门文章

  1. httprunner3源码解读(1)简单介绍源码模块内容
  2. php swoft redis 发布和订阅
  3. MapReduce Service更换集群外部时钟源,仅需10步
  4. v-html | 数据内容包含元素标签或者样式
  5. 讲分布式唯一id,这篇文章很实在
  6. Django笔记&教程 1-1 一 新建项目
  7. Python 字符串索引、切片、修改
  8. python实现圆检测
  9. [cf10E]Greedy Change
  10. [luogu7740]机器人游戏