iOS常见Crash

本文深入探讨iOS开发中常见的Crash问题,如数组下标越界、字典构造与修改不当、NSAttributedString处理、单例对象强引用、unrecognizedselector异常、tableView数据操作失误及多次Push同一控制器导致的问题。并提供了实用的解决方案,帮助开发者有效避免这些陷阱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS常见Crash

大家在工作中一定要避免这些问题噢~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值