Отправьте NSDistributedNotification и получите ответ

Я создал плагин firebreath, который отправляет уведомление приложению какао. Есть ли способ получить ответ от приложения, если уведомление было успешно получено?


person Ana    schedule 28.12.2011    source источник
comment
Если вам нужно только знать, было ли оно получено, вы можете сделать так, чтобы ваше приложение Cocoa NSLog что-то...   -  person Richard    schedule 28.12.2011
comment
Но мне нужно отправить ответ обратно в плагин, как подтверждение   -  person Ana    schedule 28.12.2011


Ответы (1)


Если вы можете получить их в плагинах firebreath, почему бы вам не отправить NSDistributedNotification обратно? Я использовал этот механизм для связи приложения с фоновым агентом, и он отлично работает.

[[NSDistributedNotificationCenter defaultCenter] 
    postNotificationName:<#ping-or-pong#> 
    object:<#sender-id#> 
    userInfo:nil 
    deliverImmediately:NO];

Вы можете использовать <#sender-id#> (например, строку), чтобы позволить каждой части пропускать свои собственные уведомления.

person djromero    schedule 28.12.2011
comment
Я не знаю, как работает NSDistributedNotification; в плагине NPAPI (на Mac все плагины FireBreath являются NPAPI) у вас нет NSWindow или NSApplication, но есть запущенный NSThread (например, PerformSelectorOnMainThread работает), поэтому вы можете использовать его, если он не т требуют от них других вещей - person taxilian; 29.12.2011
comment
У меня возникли проблемы с добавлением наблюдателя уведомлений в мой плагин firebreath, потому что для этого требуется, чтобы я определил метод селектора и установил наблюдателя. Если я определяю селектор в target-c, это выдает мне синтаксическую ошибку. Кроме того, я не могу добавить себя в качестве наблюдателя. У меня есть еще один код Objective-C в моем плагине, и он работает нормально. Вот мой пост, связанный с этой проблемой stackoverflow.com/questions/8680145/ - person Ana; 30.12.2011