Skip to content

[self lee_theme_dealloc] EXC_BAD_ACCESS crash #27

Open
@jerrywangjing

Description

在APP从后台切换到前台时,可能会造成app crash,通过异常断点查看,崩溃到的[self lee_theme_dealloc];这里,不太理解作者为什么在这里要多次递归调用该方法,可能引起crash的原因就是self(LEETheme)对象过度内存释放导致的,希望作者能修复该问题。谢谢。

下面是出现crash的文件,及代码片段:

文件:#import "LEETheme.h"

...

@implementation NSObject (LEEThemeConfigObject)
...

- (void)lee_theme_dealloc{
    
    if ([self isLeeTheme]) {
        
        [[NSNotificationCenter defaultCenter] removeObserver:self name:LEEThemeChangingNotificaiton object:nil];
        
        objc_removeAssociatedObjects(self);
    }
    [self lee_theme_dealloc];  // 注:crash 在这里
}

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions