利用runtime的方式进行判断为空的时候崩溃的问题

#import

@interfaceNSMutableDictionary (objc)

@end


#import "NSMutableDictionary+objc.h"

#import

@implementationNSMutableDictionary (objc)

+ (void)load {

//这个是类簇,实际的字典,这个必须得用这个形式,使用self不行

    Class dictCls = NSClassFromString(@"__NSDictionaryM");

    MethodoriginalMethod =class_getInstanceMethod(dictCls,@selector(setObject:forKey:));

    MethodswizzledMethod =class_getInstanceMethod(dictCls,@selector(na_setObject:forKey:));

    method_exchangeImplementations(originalMethod, swizzledMethod);

}

- (void)na_setObject:(id)anObject forKey:(id)aKey {

    if(!anObject)

        return;

    [selfna_setObject:anObjectforKey:aKey];

}

@end

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容