Центр NSNotification может не ответить на -object?

Я пытаюсь просто использовать центр NSNotification внутри своего приложения для iPhone, но, похоже, в этом случае я делаю что-то не так. У меня сложилось впечатление, что можно получить объект, связанный с конкретным сообщением, или, по крайней мере, ссылку на объект, но, используя следующий пример кода, я получаю предупреждение:

"Центр уведомлений 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» и передавать через него объект закладки, но результат был таким же.

Как я должен это делать? Что я делаю неправильно?


person si28719e    schedule 14.06.2010    source источник


Ответы (1)


Ваш метод addNewBookmark: должен принимать NSNotification, а не NSNotificationCenter.

NSNotification должен реагировать на -object как и ожидалось.

Центр уведомлений — это объект, отвечающий за отслеживание того, кто слушает, и отправку им уведомлений (не центров).

person cobbal    schedule 14.06.2010
comment
о боже, я чувствую себя глупо. слишком быстро с автозаполнением. я не приму это, как только позволит таймер. - person si28719e; 14.06.2010