如何解决为什么我无法收到通知
|[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationForbidAdvPost object:nil];
我在.h文件中定义了postNotificationName:kNotificationForbidAdvPost
我是NSApplication的子类,我导入了此.h文件。并拥有此通知的观察者
[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(changetoRecordingStatus) name:kNotificationForbidAdvPost object:nil];
我确定先添加观察者,然后发布通知。
我在调试中看到了[UINotification default]。它在代码的两部分中具有相同的内存地址。
我有什么错误吗?
谢谢!
解决方法
该文档说明以下内容时非常清楚:
指定的方法
notificationSelector必须有一个和
仅一个参数(
NSNotification)。
http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html#//apple_ref/doc/uid/20000219-CHDCIGGB
因此,我看到您正在注册的选择器是
changeToRecordingStatus
,但必须是changeToRecordingStatus:
- (void) changeToRecordingStatus: (NSNotification *) notification;
, 我尝试添加一个参数,但是仍然没有用。
我创建了一个新项目,并使用无参数函数来响应Notification,它可以正常工作。
我无法收到通知的原因是,我没有注意到的一部分调用了removeObserver方法。
多谢您的回覆。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。