react-native-navigation的迁移库

RNNEventEmitter.m 969B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #import "RNNEventEmitter.h"
  2. @implementation RNNEventEmitter {
  3. RCTBridge *_bridge;
  4. }
  5. RCT_EXPORT_MODULE();
  6. static NSString* const onAppLaunched = @"RNN.appLaunched";
  7. static NSString* const containerStart = @"RNN.containerStart";
  8. static NSString* const containerStop = @"RNN.containerStop";
  9. -(instancetype)initWithBridge:(RCTBridge*)bridge {
  10. self = [super init];
  11. _bridge = bridge;
  12. return self;
  13. }
  14. -(NSArray<NSString *> *)supportedEvents
  15. {
  16. return @[onAppLaunched, containerStart, containerStop];
  17. }
  18. # pragma mark public
  19. -(void)sendOnAppLaunched
  20. {
  21. [self send:onAppLaunched body:nil];
  22. }
  23. -(void)sendContainerStart:(NSString *)containerId
  24. {
  25. [self send:containerStart body:containerId];
  26. }
  27. -(void)sendContainerStop:(NSString *)containerId
  28. {
  29. [self send:containerStop body:containerId];
  30. }
  31. # pragma mark private
  32. -(void)send:(NSString *)eventName body:(id)body
  33. {
  34. [[_bridge moduleForClass:[RNNEventEmitter class]] sendEventWithName:eventName body:body];
  35. }
  36. @end