Регистрация наблюдателей в собственном модуле React Native на iOS (NSNotificationCenter)

#ios #react-native #nsnotificationcenter

#iOS #react-native #nsnotificationcenter

Вопрос:

Я написал собственный модуль, чтобы соединить собственный код iOS (objective-c) с моим собственным кодом react. Я пытаюсь прослушивать события через NSNotificationCenter в собственном модуле, но я не получаю никаких событий. Я настраиваю прослушиватель в init в своем модуле. Я включил код, который прослушивает события, описанные ниже. К сожалению, кажется, что мои методы никогда не выполняются. Я неправильно настроил?

 - (instancetype)init
{
    self = [super init];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(receivedData:)
                                                 name:ProtocolReceivedData
                                               object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(receivedEvent:)
                                                 name:ProtocolReceivedEvent
                                               object:nil];
    return self;
}

- (void)receivedData:(NSNotification *)notification {
    NSLog(@"%@", @"NATIVE MODULE HAS RECEIVED DATA");
}

- (void)receivedEvent:(NSNotification *)notification {
    NSLog(@"%@", @"NATIVE MODULE HAS AN EVENT");
}
  

Код, который отправляет уведомление, выглядит следующим образом,

 [[NSNotificationCenter defaultCenter] postNotificationName:ProtocolReceivedEvent
     object:self
     userInfo:userInfo];
  

Комментарии:

1. Хорошо. После долгих размышлений оказалось, что мои методы работали так, как ожидалось. Однако NSLogs в моем собственном модуле не отображаются в консоли разработчика Xcode.