地址 | 简介 |
---|---|
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<NSCopying> _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);
}
网友评论