美文网首页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笔记摘录

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