ios 通知注销_NSNotificationCenter用完之后不移除的后果

通知如果不移除会导致什么后果?

简单粗暴的回答:有时候会导致crash

一般的通知,如果确定通知是一次性的,那么在通知事件完成之后还是删除比较好。不过不移除不会发生什么问题。但是对于有些通知,不移除可能会造成崩溃,比如在你通知事件中处理数据或UI事件,但是由于通知的的不确定性造成处理事件的时间不确定,有异步操作在通知事件中处理等都可能造成崩溃。

现在只发一次不代表以后不会发送多次。你现在很清楚不代表以后接手的人也能清楚。等问题爆发出来就等着抓瞎吧.不移除以后一定会崩溃

而且通知的崩溃是相当难检测的

iOS 开发中, A控制器push到B控制器之后,A控制器会被销毁吗?B控制器pop之后,B控制器会被销毁吗?

A push B后,A一定不会销毁。B pop之后,如果B没有被其它指针retain,那么B会被销毁,销毁的标志是:会走B的dealloc方法。

同理,引出了我们今天所说的通知:如果A监听了通知,并且将移除通知的代码写在了dealloc方法中,那么 A控制器push到B控制器之后,在A中监听的通知并不会移除,因为并不会走dealloc方法。当然,若想强制性的让A控制器push到B控制器之后销毁A中监听的通知,可以将移除的代码写在viewWillDisappear方法中(也就是下面的写法2).

总结:push操作不会走dealloc方法,pop操作才会走dealloc方法。push操作不会销毁通知,pop操作才会销毁通知。只要pop这里有一个链接,大家可以参考下

通知相关的细枝末节这位开发者介绍挺详细,大家也可以参考下,手懒就不再写了iOS创建添加通知、发送通知、移除通知

通知的两种写法

写法1:在viewDidLoad中添加通知,在dea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值