代码之家  ›  专栏  ›  技术社区  ›  si28719e

NSN通知中心可能不响应-对象?

  •  0
  • si28719e  · 技术社区  · 14 年前

    我试图在iPhone应用程序中简单地使用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”参数并通过它传递bookmark对象,但结果是相同的。

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

    1 回复  |  直到 14 年前
        1
  •  2
  •   cobbal    14 年前

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

    通知应响应 -object 一如预期。

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