objcDispatcherClassMethed function
Implementation
String objcDispatcherClassMethed(String suffix) => '''
+ (void)init:(NSObject<FlutterBinaryMessenger>* _Nonnull)binaryMessenger {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
UniCallbackCache = NSMutableDictionary.new;
FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel messageChannelWithName:@"$channelPrefix.UniCallbackManager.callback_channel.dispose$suffix" binaryMessenger: binaryMessenger];
[channel setMessageHandler:^(id _Nullable message, FlutterReply _Nonnull callback) {
NSString *uniCallbackName = [message objectForKey:@"callback"];
id subscriber = UniCallbackCache[uniCallbackName];
if ([subscriber delegate] != NULL && [[subscriber delegate] respondsToSelector:@selector(disposeCallback:)]) {
[[subscriber delegate] disposeCallback:uniCallbackName];
[UniCallbackCache removeObjectForKey:uniCallbackName];
}
}];
});
}
+ (void)registe:(NSString * _Nonnull)name callback:(id _Nonnull)subscriber {
[UniCallbackCache setObject:subscriber forKey:name];
}
''';