Вам понадобится класс Objective-C для обработки уведомлений Objective-C. Основа для спасения!
В ... везде, где вы начинаете слушать уведомления, например Ваш конструктор:
static void notificationHandler(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo);
MyClass::MyClass() : {
// do other setup ...
CFNotificationCenterAddObserver
(
CFNotificationCenterGetLocalCenter(),
this,
¬ificationHandler,
CFSTR("notify"),
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately
);
}
Когда закончите, например, в вашем деструкторе:
MyClass::~MyClass() {
CFNotificationCenterRemoveEveryObserver
(
CFNotificationCenterGetLocalCenter(),
this
);
}
И, наконец, статическая функция для обработки отправки:
static void notificationHandler(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
(static_cast<MyClass *>(observer))->reallyHandleTheNotification();
}
Та да!