NSNotification中心可能无法回复 - 对象?

时间:2010-06-14 05:04:31

标签: iphone nsnotificationcenter

我正在尝试在我的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”参数并将书签对象传递给它,但结果是一样的。

我该怎么做?我做错了什么?

1 个答案:

答案 0 :(得分:2)

您的addNewBookmark:方法应该接受NSNotification,而不是NSNotificationCenter。

NSNotification应按预期响应-object

通知中心是负责跟踪谁正在收听并向他们发送通知(而不是中心)的对象。