• 日常bug及解决方法记录


    工作中经常会遇到一些Bug,时间长了有时候就忘记了,这样不好。

    特地在这加一个随笔,把以后出现的有价值一点的bug记录在这里,提醒自己,也可以给刚入门的同学一些参考,避免这些坑。

    1:界面已经销毁,代理回调会导致崩溃的bug

    场景:  A Push to B

         在B中发送了一个异步请求,请求完成之后执行

         if(self.delegate && [self.delegate respondsToSelector:@selector(requestMessageFinish:)])

         {

                        [self.delegate requestMessageFinish:self.countDic];

         }

         在请求完成之前,就Pop到了A,等到请求完成之后,执行代理回调的时候,此时代理已经是僵尸对象了,导致崩溃。

    解决:  在B viewDidDisappear的方法里,将delegate = nil即可避免。

    2:断点调试时,打印变量控制台出现“no location, value may have been optimized out”或者“variable not available”

    解决:  选择Product-->Scheme-->Edit Scheme-->Run

         如下图,将Build Configuration改为Debug模式。

         

    原因:  Xcode默认有2个编译模式,一个是Debug,一个是Release。Release下不能调试程序,编译时有做编译优化,会比用Debug打包出来的运行快,另外包也会更小。

  • 相关阅读:
    用索引提高SQL Server性能
    常用代码生成器
    ASP.NET动态生成html页面 (转载)
    C#基础知识
    DrGraph软件升级:工程优化1
    DrGraph软件升级:Quick Access Toolbar
    高级面向对象程序与设计的概念
    DrGraph软件升级:BCB6转2010
    DrGraph软件升级:皮肤
    命名空间
  • 原文地址:https://www.cnblogs.com/fanzhiying/p/5166919.html
Copyright © 2020-2023  润新知