iOS常见Crash
大家在工作中一定要避免这些问题噢~
- 数组下标越界
安全取值,判断越界边界。 - 字典构造造与修改
NSDictionary key如果是string,用setValueForkey,如果是其他类型,用setObjectForKey.取值用objectForKey。
ps:key 并不一定是string类型,但是一定要遵循NSCoding协议 - NSAttributedString相关
设置的属性的值是否有可能存在nil的情况,预防此情景的发生。 - 强引用一个单例对象
对单例的Property不要使用strong,非要引用的话使用week。 - unrecognized selector
重要的地方对类型进行判断再调用该类的相关方法,或者写一个分类统一处理此类逻辑 - 操作tableView数据
刷新tableView的时候,当需要动态更新tableView的数据时,计算好模型的数据使模型的数据和更新tableView的后的数据保持同步。 - Push到同一个控制器多次
- CALayer position contains NaN: [nan 2]
Terminating app due to uncaught exception ‘CALayerInvalidGeometry’, reason: ‘CALayer position contains NaN: [nan nan]’
原因:计算高度,宽度,CGRectMake设置等中存在错误,看看是不是除0等操作了.