NSException、正则表达式、AvoidCrash

地址 简介
iOS被开发者遗忘在角落的NSException-其实它很强大 NSException
利用category + runtime + 异常的捕获 来写一个防止崩溃的框架 AvoidCrash异常处理框架
iOS正则表达式的使用(NSRegularExpression) AvoidCrash异常处理框架
正则表达式30分钟入门教程 正则表达式看了n遍,还得从头看

https://github.com/Broszhu/zhuanbang-javascript-notes

[-+][.+]

-[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects 匹配 -[__NSPlaceholderArray initWithObjects:count:];如果后面有[1],匹配一整行;

// C字符串转为OC字符串
#define CStringToOcString(cstr) [NSString stringWithCString:cstr encoding:GBK_ENCODE]


NSDictionary+AvoidCrash.h
/**
 *  Can avoid crash method
 *
 *  1. NSDictionary的快速创建方式 NSDictionary *dict = @{@"frameWork" : @"AvoidCrash"}; //这种创建方式其实调用的是2中的方法
 *  2. +(instancetype)dictionaryWithObjects:(const id  _Nonnull __unsafe_unretained *)objects forKeys:(const id  _Nonnull __unsafe_unretained *)keys count:(NSUInteger)cnt
 *
 */

错误处理,移除空的键值对key-value,再创建字典dic


/**
 *  类方法的交换
 *
 *  @param anClass    哪个类
 *  @param method1Sel 方法1
 *  @param method2Sel 方法2
 */
+ (void)exchangeClassMethod:(Class)anClass method1Sel:(SEL)method1Sel method2Sel:(SEL)method2Sel {
    Method method1 = class_getClassMethod(anClass, method1Sel);
    Method method2 = class_getClassMethod(anClass, method2Sel);
    method_exchangeImplementations(method1, method2);
}


/**
 *  对象方法的交换
 *
 *  @param anClass    哪个类
 *  @param method1Sel 方法1
 *  @param method2Sel 方法2
 */
+ (void)exchangeInstanceMethod:(Class)anClass method1Sel:(SEL)method1Sel method2Sel:(SEL)method2Sel {
    Method method1 = class_getInstanceMethod(anClass, method1Sel);
    Method method2 = class_getInstanceMethod(anClass, method2Sel);
    method_exchangeImplementations(method1, method2);
    
    
}

你可能感兴趣的:(NSException、正则表达式、AvoidCrash)