iOS经验总结

iOS 通知(NSNotificationCenter)执行多次

2018-12-01  本文已影响13人  CoderZb

问题描述:在我要提现界面,输入完支付密码支付成功pop到上个界面,然后再次push到我要提现界面,又进行了一次支付操作的时候,发现会执行两次相同的通知。
原因分析:第一次:输入完之后密码之后发出通知给我要提现控制器,我要提现控制器监听到通知后执行相应操作,然后pop到上个界面,此时并没有做移除通知的操作。第二次:重复第一次,由于第一次的通知还没有移除,所以会监听到两个相同的通知。

image.png

解决办法:在viewWillDisappear:方法中移除通知

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

总结:要养成一个通知及时移除的好习惯

结合我的这篇文章看看-NSNotificationCenter用完之后不移除的后果

上一篇 下一篇

猜你喜欢

热点阅读