直接上干货 IOS 防止Crash 组件
导致crash 原因,网上一大堆,不废话介绍。此处省略一万字
当前为何的项目 排行高的Crash项
- UIKit Called on Non-Main Thread
- KVO
- 容器越界(NSArray, NSDictionary,…)
- unrecognized selector crash (这个很多时候是由于class使用错误导致)
针对以上crash, 进行防止崩溃处理。以下一项项说。
UIKit Called on Non-Main Thread
替换UIView 的 setNeedsLayout, layoutIfNeeded,layoutSubviews, setNeedsUpdateConstraints。方法,判断当前线程是否为主线程,如果不是,在主线程执行。
- (void)wt_safe_setNeedsLayout
{
if(![