美文网首页iOS开发之笔记摘录
常见崩溃的原因之iOS笔记摘录

常见崩溃的原因之iOS笔记摘录

作者: 平安喜乐698 | 来源:发表于2020-04-13 18:10 被阅读0次
目录

前言


    @try {
    } @catch (NSException *exception) {
    } @finally {
    }

1. 数组、字典

解决办法:参见Runtime运行时篇

1. 数组下标越界
2. 初始化数组时,数组元素为nil
3. 数组添加元素时,元素为nil
4. 初始化字典时,键/值为nil
5. 字典添加元素时,键/值为nil

2. 系统自带KVO崩溃

1、没有实现observerValueForKeyPath:方法
2、重复移除观察者
3、移除观察者的时候,观察者为nil
4、忘记移除观察者,但观察者已经为nil

3. 未识别的方法

解决办法:参见Runtime运行时篇

1. dic[@""][@""] 前面不是字典类型时 
2. 向BOOL类型赋值nil。setNilValueForKey
3. 使调用delegate的协议方法前没有判断是否存在。

4. UITableView、UICollectionView

1. 忘了registerClass cell
2. forCellReuseIdentifier: forHeaderFooterViewReuseIdentifier 添加的类型不一致,错误地将Cell类型注册为Head类型。(不提示崩溃原因)
3. cellForRow、cellForItemAtIndexPath、viewForSupplementaryElementOfKind、viewForHead、ViewForFoot 返回nil 导致崩溃

5. 其他原因

内存爆增:加载高分辨率大图,内存瞬间升至2、3g
make.width.mas_lessThanOrEqualTo(100).mas_greaterThanOrEqualTo(60)  失误造成崩溃(不提示错误)
没有添加到父视图就调用mas_makeConstraints 导致崩溃(有提示)
@interface声明了类,可是没有实现@implementation
使用block前没有判断是否存在

相关文章

  • 常见崩溃的原因之iOS笔记摘录

    前言 1. 数组、字典 解决办法:参见Runtime运行时篇 3. 未识别的方法 解决办法:参见Runtime运行...

  • iOS常见崩溃

    数组越界 1.数组中取值时越界 2.往数组中添加nil 野指针 出现野指针的情况 1.用assign修饰一个OC对...

  • iOS 避免常见崩溃(二)

    级别: ★★☆☆☆标签:「iOS 」「避免常见崩溃」「FBKVOController」「KVO」作者: WYW审...

  • iOS常见的崩溃

    数组越界 字面量数组和字典插入nil值 字典 Unrecognized Selector NaN崩溃 富文本初始化...

  • Runtime之常见崩溃问题

    一、iOS常见的崩溃类型 unrecognized selector sent to instance 调用了不存...

  • iOS 知识点归纳-一些点

    1 崩溃处理 iOS开发中碰到的几种常见的崩溃方式 - 简书[https://www.jianshu.com/p/...

  • iOS防崩溃

    2022-03-15 iOS OC常见崩溃和防止崩溃方案[https://www.jianshu.com/p/a7...

  • iOS Runtime 消息转发

    一: iOS开发常见的一个崩溃信息就是unrecognized selector sent to instance...

  • iOS 常见崩溃类型

    1.UIKit Called on Non-Main Thread,非主线程刷新UI 通过runtime的方法替换...

  • iOS 避免常见崩溃(一)

    级别: ★★☆☆☆标签:「iOS 」「避免常见崩溃」作者: WYW审校: QiShare团队 笔者最近看了部分引...

网友评论

    本文标题:常见崩溃的原因之iOS笔记摘录

    本文链接:https://www.haomeiwen.com/subject/ydrcnctx.html