This commit is contained in:
启星
2025-08-08 10:49:36 +08:00
parent 6400cf78bb
commit b5ce3d580a
8780 changed files with 978183 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
//
// TIMCommonMediator.m
// TUIEmojiPlugin
//
// Created by cologne on 2023/11/14.
// Copyright © 2023 Tencent. All rights reserved.
//
#import "TIMCommonMediator.h"
@interface TIMCommonMediator()
@property (nonatomic, strong) NSMutableDictionary *map;
@end
@implementation TIMCommonMediator
+ (instancetype)share {
static TIMCommonMediator *mediator = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
mediator = [TIMCommonMediator new];
mediator.map = [NSMutableDictionary new];
});
return mediator;
}
- (void)registerService:(Protocol *)service class:(Class)cls {
if (!service || !cls) return;
self.map[NSStringFromProtocol(service)] = cls;
}
- (id)getObject:(Protocol *)service {
if (!service) return nil;
Class cls = self.map[NSStringFromProtocol(service)];
id obj = [cls new];
if ([obj conformsToProtocol:service]) {
return obj;
}
return nil;
}
@end