iOS 防止奔溃的一些想法

虽然对后台每个字段判空是有必要,但是对后台每个字段进行判空感觉也是有点难不科学的,如果项目项目业务场景太多了,实际上没有办法保证每个点都去进行防止奔溃处理的。我觉得我们可以利用runtime一些机制去做一些一劳永逸的防奔溃措施,这是我列举的几个防止奔溃的方法,在本地demo有进行测试过,如果你们觉得可以,可以加到项目当中。

主要奔溃有几大原因:

1.AFN中的post方法中没有removesKeysWithNullValues 有关方法,但是get 方法中有(请参考这个链接

https://www.jianshu.com/p/873eab2a4878)

2.后台数据有一些null返回,这个时候我们可以用NullSafe这个工具类去拦截,消息转发机制,保证不奔溃

(https://github.com/nicklockwood/NullSafe)

3.数组取值越界,字典字面量取值取到null,字符串截取越界引发的一些奔溃,我们可以利用SafeObject工具类去做处理,这个第三方,我验证过,包括字面量取值方法也可以防止不奔溃 (https://github.com/MrLujh/SafeObject

4.还有一种奔溃是访问坏内存导致的奔溃,例如过度释放造成,这个暂时还未想到非常好的办法去拦截奔溃

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容