[NSNotificationCenter defaultCenter] 通知接收不全面原因
2015-07-31 12:23
369 查看
前几天在登录成功后发出一个通知,
[[NSNotificationCenterdefaultCenter]postNotificationName:LOGINSUCESSobject:nil];
创建了3个通知监听事件,
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(onLoginSucceedClicked)name:LOGINSUCESSobject:nil];
结果运行时发现能监听到通知的viewController并不全面,有时一个,又是两个,没有任何规律
为了排查原因把三份代码复制粘贴了一遍,并检查每页是否释放
- (void)dealloc{
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:LOGINSUCESSobject:nil];
}
还是不行就问了朋友,原因是我的三个通知都是在TabBarController上的ViewController里面创建的,而tabBar的机制就是只有点击tabBarItem时它所对应的页面才开始创建,所以还没开始创建加载再上面的通知页理所当然的接收不到,找到了原因问题也就迅速解决了
[[NSNotificationCenterdefaultCenter]postNotificationName:LOGINSUCESSobject:nil];
创建了3个通知监听事件,
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(onLoginSucceedClicked)name:LOGINSUCESSobject:nil];
结果运行时发现能监听到通知的viewController并不全面,有时一个,又是两个,没有任何规律
为了排查原因把三份代码复制粘贴了一遍,并检查每页是否释放
- (void)dealloc{
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:LOGINSUCESSobject:nil];
}
还是不行就问了朋友,原因是我的三个通知都是在TabBarController上的ViewController里面创建的,而tabBar的机制就是只有点击tabBarItem时它所对应的页面才开始创建,所以还没开始创建加载再上面的通知页理所当然的接收不到,找到了原因问题也就迅速解决了
相关文章推荐
- random_queue:支持push, popRamdom的数据结构
- 使用poi动态替换word指定文本内容
- 二、元素---上面板---调试面板
- maven学习(5)-maven中常见错误
- Clique in the Divisibility Graph
- 将博客搬至CSDN
- 浅复制 与 深复制的区别
- Delete Node in a Linked List Java LeetCode
- java子类构造器调用父类构造器初始化顺序
- CLRS第二章思考题
- 如何下载youtube上面的视频
- TestNG中case之间的依赖关系
- 号称最快android虚拟机的genymotion安装出现virtualization engine not found plugin loading aborted另外一个原因
- 组建一个互联网创业团队需要多少钱?
- 修改MySQL数据库字符编码为UTF-8解决中文乱码
- Install R-base 3.1.0 in Ubuntu 14.04
- HTML 对象属性 property value 与 attribute value
- 禁止滑动的ViewPager
- 二叉树算法总结
- 如何搭建一个独立博客——简明Github Pages与Hexo教程