0

我试图在我的 iPhone 应用程序中简单地使用 NSNotification 中心,但在这种情况下我似乎做错了什么。我的印象是可以检索与特定消息关联的对象,或者至少是对该对象的引用,但是使用以下示例代码我收到了警告,

“NSNotification 中心可能无法响应 -object”


- (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”参数并通过它传递书签对象,但结果是一样的。

我应该怎么做?我究竟做错了什么?

4

1 回答 1

2

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

-objectNSNotification 应该按预期响应。

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

于 2010-06-14T05:10:19.707 回答