美文网首页
拖入LEETheme后,导致控制器、视图不走dealloc方法

拖入LEETheme后,导致控制器、视图不走dealloc方法

作者: 曾经像素有点低 | 来源:发表于2020-05-05 23:22 被阅读0次
    一、验证问题:
    • 1.创建一个HelloWord项目,

    • 2.创建两个控制器 A_ViewControllerB_ViewController

    • 3.A为rootVC,A进入B,然后B点击返回后,B正常调用dealloc释放

    • 4.拖入LEETheme后,导致B_ViewController 不走dealloc方法;

    截屏2020-05-05 下午10.47.15.png
    就是这三个文件,一旦拖入项目,
    不用引入头文件,
    不用任何操作,
    就会导致整个项目里的控制器都不走dealloc
    
    二、开始着手定位问题:

    1.断点调试 ==》发现项目断在:LEETheme.m文件

    // LEETheme.m文件的
    - (BOOL)isLeeTheme{ 
    

    现象:
    该方法会随时被调用;
    1.初始化控制器会调用
    2.项目开启后,会时不时自己调用一下;

    ↓↓↓↓↓↓
    LEEThemeConfigObject

    • 追踪,发现是由lee_theme_dealloc方法一直在被调用引起的;
    截屏2020-05-05 下午11.13.01.png 加了一个
    NSLog后,
    Mac都被搞
    死机了😂
    LEEThemeConfigObject

    ↓↓↓↓↓↓

    • @implementation NSObject (LEEThemeConfigObject)

    • 重写了+(void) load{ } 方法;


      截屏2020-05-05 下午11.44.00.png
    • 不是很懂应该怎么改,申请添加作者好友了,明天问问作者吧
    //
    LEE神的代码很优雅,不敢随随便便更改,
    注释了method_exchangeImplementations(originalMethod, leeMethod);暂时不出现问题了。
    

    几天后


    LEE神居然同意我申请加好友了——灰常感谢😄

    经过LEE神的指点,发现问题并没有出现在LEETheme 的Demo中,
    我对比了一下,发现了问题所在了

    ==》lee_theme_dealloc方法中,最后有一句 [self lee_theme_dealloc];

    不知道被这个项目的哪位前辈给注释了┭┮﹏┭┮,我悲催的

    前边交接的人们啊,你们咋就这么舍得坑我啊...

    相关文章

      网友评论

          本文标题:拖入LEETheme后,导致控制器、视图不走dealloc方法

          本文链接:https://www.haomeiwen.com/subject/yrlbghtx.html