ARC模式下,程序闪退原因

在采用ARC(Automatic Reference Counting)模式的项目中,尽管内存管理自动化,但不当的释放操作可能导致应用闪退。常见的问题包括:delegate应使用weak而非assign或strong;观察通知时必须在dealloc中移除;添加KVO后要记得在dealloc中停止观察;以及处理tableviewcell的键盘弹出和滚动时,确保正确管理cell的subviews。解决这些问题能有效防止闪退发生。
摘要由CSDN通过智能技术生成

目前做项目运用的都是ARC模式,虽然系统会自动回收内存,但是在某些释放不当的情况下,项目还是会出现闪退的情况。以下是我自己遇到的一些情况。


1 delegate属性的描述词使用的是assign,或者是strong会造成闪退,应该使用weak

2 如果使用了通知,例如:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideKeyboard) name:UIKeyboardWillHideNotification object:nil];那么在

- (void)dealloc方法中必须移除掉该通知

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值