• iOS 因为reason: 'Pushing the same view controller instance more than once is not supported而奔溃(下)


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

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

    什么原因造成的呢?

    提示了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 ,问题解决

    我是一只小鸟,但我也要飞向更高的蓝天,总有一天会长大的。
  • 相关阅读:
    打造TypeScript的Visual Studio Code开发环境
    Visual Studio Code 使用Git进行版本控制
    每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
    每周一书-《鸟哥的Linux私房菜》获奖公布
    Python黑帽编程 4.1 Sniffer(嗅探器)之数据捕获(上)
    微信公众平台及门户应用
    Bootstrap开发框架
    公用类库使用帮助
    git
    SQL Server 基本函数 与 类型
  • 原文地址:https://www.cnblogs.com/Stone-Yuan/p/6141254.html
Copyright © 2020-2023  润新知