我正在尝试在我的iPhone应用程序中简单地使用NSNotification中心,但在这种情况下我似乎做错了。我的印象是,可以检索与特定消息关联的对象,或者至少是对该对象的引用,但使用以下示例代码我收到警告,
“NSNotification中心可能无法回复 - 对象”
- (void)addNewBookmark:(NSNotificationCenter *)notification {
Bookmark *newBookMark = (Bookmark *)[notification object];
//Do some stuff with the bookmark object
}
实际上,当我编译并运行代码时,基本上我没有尝试对象的内容实际执行 - 它只是被忽略了。
邮政编码如下,
- (IBAction)save:(id) sender{
//Sending the message with the related object
[[NSNotificationCenter defaultCenter]
postNotificationName:@"addNewBookmark"
object:bookmark];
}
并且书签对象本身只是一本字典。我也尝试使用“userInfo”参数并将书签对象传递给它,但结果是一样的。
我该怎么做?我做错了什么?
答案 0 :(得分:2)
您的addNewBookmark:
方法应该接受NSNotification,而不是NSNotificationCenter。
NSNotification应按预期响应-object
。
通知中心是负责跟踪谁正在收听并向他们发送通知(而不是中心)的对象。