|
@@ -0,0 +1,198 @@
|
|
|
|
+//
|
|
|
|
+// UserDetailModel.m
|
|
|
|
+//
|
|
|
|
+// Created by Steven on 2024/7/23
|
|
|
|
+// Copyright (c) 2024 __MyCompanyName__. All rights reserved.
|
|
|
|
+//
|
|
|
|
+
|
|
|
|
+#import "UserDetailModel.h"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+NSString *const kUserDetailModelId = @"id";
|
|
|
|
+NSString *const kUserDetailModelUserVip = @"userVip";
|
|
|
|
+NSString *const kUserDetailModelFriendNickname = @"friendNickname";
|
|
|
|
+NSString *const kUserDetailModelMemo = @"memo";
|
|
|
|
+NSString *const kUserDetailModelFriendAvatar = @"friendAvatar";
|
|
|
|
+NSString *const kUserDetailModelRoleType = @"roleType";
|
|
|
|
+NSString *const kUserDetailModelFriendGender = @"friendGender";
|
|
|
|
+NSString *const kUserDetailModelFriendBirthdate = @"friendBirthdate";
|
|
|
|
+NSString *const kUserDetailModelUserId = @"userId";
|
|
|
|
+NSString *const kUserDetailModelFriendType = @"friendType";
|
|
|
|
+NSString *const kUserDetailModelCreateTime = @"createTime";
|
|
|
|
+NSString *const kUserDetailModelFriendId = @"friendId";
|
|
|
|
+NSString *const kUserDetailModelFriendSubjectName = @"friendSubjectName";
|
|
|
|
+NSString *const kUserDetailModelImFriendId = @"imFriendId";
|
|
|
|
+NSString *const kUserDetailModelUpdateTime = @"updateTime";
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@interface UserDetailModel ()
|
|
|
|
+
|
|
|
|
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
|
|
|
|
+
|
|
|
|
+@end
|
|
|
|
+
|
|
|
|
+@implementation UserDetailModel
|
|
|
|
+
|
|
|
|
+@synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
|
|
|
|
+@synthesize userVip = _userVip;
|
|
|
|
+@synthesize friendNickname = _friendNickname;
|
|
|
|
+@synthesize memo = _memo;
|
|
|
|
+@synthesize friendAvatar = _friendAvatar;
|
|
|
|
+@synthesize roleType = _roleType;
|
|
|
|
+@synthesize friendGender = _friendGender;
|
|
|
|
+@synthesize friendBirthdate = _friendBirthdate;
|
|
|
|
+@synthesize userId = _userId;
|
|
|
|
+@synthesize friendType = _friendType;
|
|
|
|
+@synthesize createTime = _createTime;
|
|
|
|
+@synthesize friendId = _friendId;
|
|
|
|
+@synthesize friendSubjectName = _friendSubjectName;
|
|
|
|
+@synthesize imFriendId = _imFriendId;
|
|
|
|
+@synthesize updateTime = _updateTime;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
|
|
|
|
+{
|
|
|
|
+ return [[self alloc] initWithDictionary:dict];
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (instancetype)initWithDictionary:(NSDictionary *)dict
|
|
|
|
+{
|
|
|
|
+ self = [super init];
|
|
|
|
+
|
|
|
|
+ // This check serves to make sure that a non-NSDictionary object
|
|
|
|
+ // passed into the model class doesn't break the parsing.
|
|
|
|
+ if(self && [dict isKindOfClass:[NSDictionary class]]) {
|
|
|
|
+ self.internalBaseClassIdentifier = [self objectOrNilForKey:kUserDetailModelId fromDictionary:dict];
|
|
|
|
+ self.userVip = [UserVip modelObjectWithDictionary:[dict objectForKey:kUserDetailModelUserVip]];
|
|
|
|
+ self.friendNickname = [self objectOrNilForKey:kUserDetailModelFriendNickname fromDictionary:dict];
|
|
|
|
+ self.memo = [self objectOrNilForKey:kUserDetailModelMemo fromDictionary:dict];
|
|
|
|
+ self.friendAvatar = [self objectOrNilForKey:kUserDetailModelFriendAvatar fromDictionary:dict];
|
|
|
|
+ self.roleType = [self objectOrNilForKey:kUserDetailModelRoleType fromDictionary:dict];
|
|
|
|
+ self.friendGender = [[self objectOrNilForKey:kUserDetailModelFriendGender fromDictionary:dict] doubleValue];
|
|
|
|
+ self.friendBirthdate = [self objectOrNilForKey:kUserDetailModelFriendBirthdate fromDictionary:dict];
|
|
|
|
+ self.userId = [self objectOrNilForKey:kUserDetailModelUserId fromDictionary:dict];
|
|
|
|
+ self.friendType = [self objectOrNilForKey:kUserDetailModelFriendType fromDictionary:dict];
|
|
|
|
+ self.createTime = [self objectOrNilForKey:kUserDetailModelCreateTime fromDictionary:dict];
|
|
|
|
+ self.friendId = [self objectOrNilForKey:kUserDetailModelFriendId fromDictionary:dict];
|
|
|
|
+ self.friendSubjectName = [self objectOrNilForKey:kUserDetailModelFriendSubjectName fromDictionary:dict];
|
|
|
|
+ self.imFriendId = [self objectOrNilForKey:kUserDetailModelImFriendId fromDictionary:dict];
|
|
|
|
+ self.updateTime = [self objectOrNilForKey:kUserDetailModelUpdateTime fromDictionary:dict];
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return self;
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (NSDictionary *)dictionaryRepresentation
|
|
|
|
+{
|
|
|
|
+ NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
|
|
|
|
+ [mutableDict setValue:self.internalBaseClassIdentifier forKey:kUserDetailModelId];
|
|
|
|
+ [mutableDict setValue:[self.userVip dictionaryRepresentation] forKey:kUserDetailModelUserVip];
|
|
|
|
+ [mutableDict setValue:self.friendNickname forKey:kUserDetailModelFriendNickname];
|
|
|
|
+ [mutableDict setValue:self.memo forKey:kUserDetailModelMemo];
|
|
|
|
+ [mutableDict setValue:self.friendAvatar forKey:kUserDetailModelFriendAvatar];
|
|
|
|
+ [mutableDict setValue:self.roleType forKey:kUserDetailModelRoleType];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.friendGender] forKey:kUserDetailModelFriendGender];
|
|
|
|
+ [mutableDict setValue:self.friendBirthdate forKey:kUserDetailModelFriendBirthdate];
|
|
|
|
+ [mutableDict setValue:self.userId forKey:kUserDetailModelUserId];
|
|
|
|
+ [mutableDict setValue:self.friendType forKey:kUserDetailModelFriendType];
|
|
|
|
+ [mutableDict setValue:self.createTime forKey:kUserDetailModelCreateTime];
|
|
|
|
+ [mutableDict setValue:self.friendId forKey:kUserDetailModelFriendId];
|
|
|
|
+ [mutableDict setValue:self.friendSubjectName forKey:kUserDetailModelFriendSubjectName];
|
|
|
|
+ [mutableDict setValue:self.imFriendId forKey:kUserDetailModelImFriendId];
|
|
|
|
+ [mutableDict setValue:self.updateTime forKey:kUserDetailModelUpdateTime];
|
|
|
|
+
|
|
|
|
+ return [NSDictionary dictionaryWithDictionary:mutableDict];
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (NSString *)description
|
|
|
|
+{
|
|
|
|
+ return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+#pragma mark - Helper Method
|
|
|
|
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
|
|
|
|
+{
|
|
|
|
+ id object = [dict objectForKey:aKey];
|
|
|
|
+ if ([object isKindOfClass:[NSNumber class]]) {
|
|
|
|
+ NSNumber *number = object;
|
|
|
|
+ object = [number stringValue];
|
|
|
|
+ }
|
|
|
|
+ return [object isEqual:[NSNull null]] ? nil : object;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#pragma mark - NSCoding Methods
|
|
|
|
+
|
|
|
|
+- (id)initWithCoder:(NSCoder *)aDecoder
|
|
|
|
+{
|
|
|
|
+ self = [super init];
|
|
|
|
+
|
|
|
|
+ self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kUserDetailModelId];
|
|
|
|
+ self.userVip = [aDecoder decodeObjectForKey:kUserDetailModelUserVip];
|
|
|
|
+ self.friendNickname = [aDecoder decodeObjectForKey:kUserDetailModelFriendNickname];
|
|
|
|
+ self.memo = [aDecoder decodeObjectForKey:kUserDetailModelMemo];
|
|
|
|
+ self.friendAvatar = [aDecoder decodeObjectForKey:kUserDetailModelFriendAvatar];
|
|
|
|
+ self.roleType = [aDecoder decodeObjectForKey:kUserDetailModelRoleType];
|
|
|
|
+ self.friendGender = [aDecoder decodeDoubleForKey:kUserDetailModelFriendGender];
|
|
|
|
+ self.friendBirthdate = [aDecoder decodeObjectForKey:kUserDetailModelFriendBirthdate];
|
|
|
|
+ self.userId = [aDecoder decodeObjectForKey:kUserDetailModelUserId];
|
|
|
|
+ self.friendType = [aDecoder decodeObjectForKey:kUserDetailModelFriendType];
|
|
|
|
+ self.createTime = [aDecoder decodeObjectForKey:kUserDetailModelCreateTime];
|
|
|
|
+ self.friendId = [aDecoder decodeObjectForKey:kUserDetailModelFriendId];
|
|
|
|
+ self.friendSubjectName = [aDecoder decodeObjectForKey:kUserDetailModelFriendSubjectName];
|
|
|
|
+ self.imFriendId = [aDecoder decodeObjectForKey:kUserDetailModelImFriendId];
|
|
|
|
+ self.updateTime = [aDecoder decodeObjectForKey:kUserDetailModelUpdateTime];
|
|
|
|
+ return self;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (void)encodeWithCoder:(NSCoder *)aCoder
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ [aCoder encodeObject:_internalBaseClassIdentifier forKey:kUserDetailModelId];
|
|
|
|
+ [aCoder encodeObject:_userVip forKey:kUserDetailModelUserVip];
|
|
|
|
+ [aCoder encodeObject:_friendNickname forKey:kUserDetailModelFriendNickname];
|
|
|
|
+ [aCoder encodeObject:_memo forKey:kUserDetailModelMemo];
|
|
|
|
+ [aCoder encodeObject:_friendAvatar forKey:kUserDetailModelFriendAvatar];
|
|
|
|
+ [aCoder encodeObject:_roleType forKey:kUserDetailModelRoleType];
|
|
|
|
+ [aCoder encodeDouble:_friendGender forKey:kUserDetailModelFriendGender];
|
|
|
|
+ [aCoder encodeObject:_friendBirthdate forKey:kUserDetailModelFriendBirthdate];
|
|
|
|
+ [aCoder encodeObject:_userId forKey:kUserDetailModelUserId];
|
|
|
|
+ [aCoder encodeObject:_friendType forKey:kUserDetailModelFriendType];
|
|
|
|
+ [aCoder encodeObject:_createTime forKey:kUserDetailModelCreateTime];
|
|
|
|
+ [aCoder encodeObject:_friendId forKey:kUserDetailModelFriendId];
|
|
|
|
+ [aCoder encodeObject:_friendSubjectName forKey:kUserDetailModelFriendSubjectName];
|
|
|
|
+ [aCoder encodeObject:_imFriendId forKey:kUserDetailModelImFriendId];
|
|
|
|
+ [aCoder encodeObject:_updateTime forKey:kUserDetailModelUpdateTime];
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (id)copyWithZone:(NSZone *)zone
|
|
|
|
+{
|
|
|
|
+ UserDetailModel *copy = [[UserDetailModel alloc] init];
|
|
|
|
+
|
|
|
|
+ if (copy) {
|
|
|
|
+
|
|
|
|
+ copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
|
|
|
|
+ copy.userVip = [self.userVip copyWithZone:zone];
|
|
|
|
+ copy.friendNickname = [self.friendNickname copyWithZone:zone];
|
|
|
|
+ copy.memo = [self.memo copyWithZone:zone];
|
|
|
|
+ copy.friendAvatar = [self.friendAvatar copyWithZone:zone];
|
|
|
|
+ copy.roleType = [self.roleType copyWithZone:zone];
|
|
|
|
+ copy.friendGender = self.friendGender;
|
|
|
|
+ copy.friendBirthdate = [self.friendBirthdate copyWithZone:zone];
|
|
|
|
+ copy.userId = [self.userId copyWithZone:zone];
|
|
|
|
+ copy.friendType = [self.friendType copyWithZone:zone];
|
|
|
|
+ copy.createTime = [self.createTime copyWithZone:zone];
|
|
|
|
+ copy.friendId = [self.friendId copyWithZone:zone];
|
|
|
|
+ copy.friendSubjectName = [self.friendSubjectName copyWithZone:zone];
|
|
|
|
+ copy.imFriendId = [self.imFriendId copyWithZone:zone];
|
|
|
|
+ copy.updateTime = [self.updateTime copyWithZone:zone];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return copy;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@end
|