iOS/Whiteboard/Whiteboard/UserInfo.m (47 lines of code) (raw):

// // UserInfo.m // BasicVideoCall // // Copyright © 2024 DingTalk. All rights reserved. // #import "UserInfo.h" @implementation UserInfo - (instancetype)initWithId:(NSString *)userId name:(NSString *)userName { self = [super init]; if (nil != self) { _userId = userId; _userName = userName; } return self; } @end @interface UserManager () @property (strong, nonatomic) NSMutableArray<UserInfo *> * userInfos; @end @implementation UserManager - (instancetype)init { self = [super init]; if (nil != self) { self.userInfos = [NSMutableArray arrayWithCapacity:10]; } return self; } - (UserInfo *)addUser:(NSString *)userId withName:(NSString *)userName { UserInfo * userInfo = [[UserInfo alloc] initWithId:userId name:userName]; [self.userInfos addObject:userInfo]; return userInfo; } - (UserInfo *)removeUser:(NSString *)userId { UserInfo * userInfo = nil; for (userInfo in self.userInfos) { if ([userInfo.userId isEqualToString:userId]) { [self.userInfos removeObject:userInfo]; break; } } return userInfo; } - (UserInfo *)findUser:(NSString *)userId { UserInfo * userInfo = nil; for (userInfo in self.userInfos) { if ([userInfo.userId isEqualToString:userId]) { break; } } return userInfo; } @end