博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 因为reason: 'Pushing the same view controller instance more than once is not supported而奔溃(下)...
阅读量:5279 次
发布时间:2019-06-14

本文共 594 字,大约阅读时间需要 1 分钟。

这个问题是什么意思呢,之前遇到过几次,但程序再次打开时没有问题,也就没有重视,今天又遇到了,无法忍受啊。

控制台报的错误是:“不支持多次推入相同的视图控制器实例“。

 

什么原因造成的呢?

提示了LoginViewController  .在进入这个页面的时候,有多次重复push操作。具体什么原因,在一个控制器里有多次执行push进同一个控制器的操作。

昨天没有时间深究具体在哪发生了这个操作,今天来理理。

a)首先,在程序里加上一个全局的异常断点(我这样叫它)

加上一个

b)然后就是运行程序,等待它出错的那一会

今天运气好,刚运行就出来了,早就觉得这里不对劲,果然是在这个类里搞事情了。

分析下这个原因:进入程序时打开A这个类,进行了网络请求,但是网络请求还没完成,我已经进入了B页面。当网络请求完成时,发现还没有登录,于是又一次push进了B页面。于是问题就出现了“Pushing the same view controller instance more than once is not supported”。

解决办法:1,在A页面中先做是否已登录判断,如果没有登录就不进行网络请求。2,在页面消失(viewDidDisappear:)中取消网络操作。

 

 

OK ,问题解决

转载于:https://www.cnblogs.com/Stone-Yuan/p/6141254.html

你可能感兴趣的文章
Java 中 静态方法与非静态方法的区别
查看>>
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
线程池的概念
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>