IOS和carsh说再见
IOS和carsh说再见
起因
工作有空没任务就恶补一下基础东西就好了!
错误类型
- 1 空指针 (根本问题)
- 2 越界 (根本问题)
- 3 项目文件xib引用错误 (衍生问题)
- 4 服务端返回错误 (衍生问题)
- 5 三方SDK启动失败 (衍生问题)
解决方法
使用
开启
//将原文件引入就可以了
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//在初始化引用,测试debug建议注释,
[JQSafeKit becomeEffective];
}
检测
//你如果想要得到导致崩溃的原因,你可以在AppDelegate中监听通知,代码如上面英文所述
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dealwithCrashMessage:) name:JQSafeKitNotification object:nil];
总结
原理
- 1 利用runtime动态机制,装系统默认的 类方法 或 实例方法,交换为自定义方法!
- 2 将容易出错的系统方法加入拦截! 里面使用 try catch 处理!
- 3 如果增做处理
优点
- 1 统一处理,基本所有类型都可以按需要定制
- 2 性能应该不错,try catch 影不影响性能暂时不确定!我个人理解是影响的,但是相对于UI刷新之类来说,影响不大!(java try catch 不影响性能)