关于重复接收NSNotificationCenter发送的通知的问题
2013-03-01 16:10
363 查看
今天遇到一个问题,会重复的收到同一个通知多次,如在controller中注册了[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onClicked) name:@"buttonClicked"],
发现会多次执行onCliked函数,并且随着controller打开关闭次数增加,onClicked函数被执行的次数也在增加,如第一次打开controller,执行了一次onClicked函数,关闭,再打开controller,onClicked执行了2次。。。。
首先确定只有一个地方发送了这个“buttonClicked”的通知,并且通知也的确只发送了一次。
并且是在init中注册NSNotification消息,(viewload viewAppear 中注册可能会引起重入)
后来查询了一下发现在其他地方controller 被retain了,没有释放,controller被retain一次,消息就多注册了一次,且没有被remove,所以会重复的被激活。
发现会多次执行onCliked函数,并且随着controller打开关闭次数增加,onClicked函数被执行的次数也在增加,如第一次打开controller,执行了一次onClicked函数,关闭,再打开controller,onClicked执行了2次。。。。
首先确定只有一个地方发送了这个“buttonClicked”的通知,并且通知也的确只发送了一次。
并且是在init中注册NSNotification消息,(viewload viewAppear 中注册可能会引起重入)
后来查询了一下发现在其他地方controller 被retain了,没有释放,controller被retain一次,消息就多注册了一次,且没有被remove,所以会重复的被激活。
相关文章推荐
- 关于NSNotificationCenter接收不到的问题
- 关于接收到推送下来的通知禁止声音和振动的问题 JPushInterface.setPushNotificationBuilder(1, builder);
- 【IPhone开发】NSNotificationCenter观察者模式给主线程发送通知
- 关于NSNotificationCenter 的随笔
- iOS学习笔记6-关于NSNotificationCenter及同步异步
- 关于百度云、极光的推送的问题,为什么控制台发送消息成功,而手机端接收不到消息
- 关于:Android 如何发送/接收DTMF问题
- 关于HttpClient 发送Post请求带string参数,接收乱码问题
- 【转载】iPhone开发之NSNotificationCenter(通知)的使用方法
- iOS开发之:NSNotificationCenter(通知)的使用方法
- iPhone开发之NSNotificationCenter(通知)的使用方法
- iOS 关于NSNotificationCenter
- xmpp关于后台挂起的消息接收,后台消息推送,本地发送通知
- 关于NSNotificationCenter监听并且传递数据
- 关于Android Notification.Builder不显示通知的问题
- 关于Java连接虚拟机中的Kafka时,无法发送、接收消息的问题
- iPhone开发之NSNotificationCenter(通知)的使用方法
- 关于iOS8上本地通知接收不到的问题