// // InviteCodeModelData.m // // Created by Yao on 2024/11/9 // Copyright (c) 2024 zL. All rights reserved. // #import "InviteCodeModelData.h" NSString *const kInviteCodeModelDataId = @"id"; NSString *const kInviteCodeModelDataName = @"name"; NSString *const kInviteCodeModelDataBankName = @"bankName"; NSString *const kInviteCodeModelDataInviteCode = @"inviteCode"; NSString *const kInviteCodeModelDataInviteNum = @"inviteNum"; NSString *const kInviteCodeModelDataBalance = @"balance"; NSString *const kInviteCodeModelDataBankNo = @"bankNo"; NSString *const kInviteCodeModelDataUserId = @"userId"; NSString *const kInviteCodeModelDataIncome = @"income"; NSString *const kInviteCodeModelDataBankId = @"bankId"; NSString *const kInviteCodeModelDataStatus = @"status"; NSString *const kInviteCodeModelDataDeviceCode = @"deviceCode"; @interface InviteCodeModelData () - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict; @end @implementation InviteCodeModelData @synthesize identifier = _identifier; @synthesize name = _name; @synthesize bankName = _bankName; @synthesize inviteCode = _inviteCode; @synthesize inviteNum = _inviteNum; @synthesize balance = _balance; @synthesize bankNo = _bankNo; @synthesize userId = _userId; @synthesize income = _income; @synthesize bankId = _bankId; @synthesize status = _status; @synthesize deviceCode = _deviceCode; + (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.identifier = [[self objectOrNilForKey:kInviteCodeModelDataId fromDictionary:dict] intValue]; self.name = [self objectOrNilForKey:kInviteCodeModelDataName fromDictionary:dict]; self.bankName = [self objectOrNilForKey:kInviteCodeModelDataBankName fromDictionary:dict]; self.inviteCode = [self objectOrNilForKey:kInviteCodeModelDataInviteCode fromDictionary:dict]; self.inviteNum = [[self objectOrNilForKey:kInviteCodeModelDataInviteNum fromDictionary:dict] intValue]; self.balance = [[self objectOrNilForKey:kInviteCodeModelDataBalance fromDictionary:dict] doubleValue]; self.bankNo = [self objectOrNilForKey:kInviteCodeModelDataBankNo fromDictionary:dict]; self.userId = [[self objectOrNilForKey:kInviteCodeModelDataUserId fromDictionary:dict] intValue]; self.income = [[self objectOrNilForKey:kInviteCodeModelDataIncome fromDictionary:dict] doubleValue]; self.bankId = [[self objectOrNilForKey:kInviteCodeModelDataBankId fromDictionary:dict] intValue]; self.status = [[self objectOrNilForKey:kInviteCodeModelDataStatus fromDictionary:dict] intValue]; self.deviceCode = [self objectOrNilForKey:kInviteCodeModelDataDeviceCode fromDictionary:dict]; } return self; } - (NSDictionary *)dictionaryRepresentation { NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary]; [mutableDict setValue:[NSNumber numberWithInteger:self.identifier] forKey:kInviteCodeModelDataId]; [mutableDict setValue:self.name forKey:kInviteCodeModelDataName]; [mutableDict setValue:self.bankName forKey:kInviteCodeModelDataBankName]; [mutableDict setValue:self.inviteCode forKey:kInviteCodeModelDataInviteCode]; [mutableDict setValue:[NSNumber numberWithInteger:self.inviteNum] forKey:kInviteCodeModelDataInviteNum]; [mutableDict setValue:[NSNumber numberWithDouble:self.balance] forKey:kInviteCodeModelDataBalance]; [mutableDict setValue:self.bankNo forKey:kInviteCodeModelDataBankNo]; [mutableDict setValue:[NSNumber numberWithInteger:self.userId] forKey:kInviteCodeModelDataUserId]; [mutableDict setValue:[NSNumber numberWithDouble:self.income] forKey:kInviteCodeModelDataIncome]; [mutableDict setValue:[NSNumber numberWithInteger:self.bankId] forKey:kInviteCodeModelDataBankId]; [mutableDict setValue:[NSNumber numberWithInteger:self.status] forKey:kInviteCodeModelDataStatus]; [mutableDict setValue:self.deviceCode forKey:kInviteCodeModelDataDeviceCode]; 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]; return [object isEqual:[NSNull null]] ? nil : object; } #pragma mark - NSCoding Methods - (id)initWithCoder:(NSCoder *)aDecoder { self = [super init]; self.identifier = [aDecoder decodeIntegerForKey:kInviteCodeModelDataId]; self.name = [aDecoder decodeObjectForKey:kInviteCodeModelDataName]; self.bankName = [aDecoder decodeObjectForKey:kInviteCodeModelDataBankName]; self.inviteCode = [aDecoder decodeObjectForKey:kInviteCodeModelDataInviteCode]; self.inviteNum = [aDecoder decodeIntegerForKey:kInviteCodeModelDataInviteNum]; self.balance = [aDecoder decodeDoubleForKey:kInviteCodeModelDataBalance]; self.bankNo = [aDecoder decodeObjectForKey:kInviteCodeModelDataBankNo]; self.userId = [aDecoder decodeIntegerForKey:kInviteCodeModelDataUserId]; self.income = [aDecoder decodeDoubleForKey:kInviteCodeModelDataIncome]; self.bankId = [aDecoder decodeIntegerForKey:kInviteCodeModelDataBankId]; self.status = [aDecoder decodeIntegerForKey:kInviteCodeModelDataStatus]; self.deviceCode = [aDecoder decodeObjectForKey:kInviteCodeModelDataDeviceCode]; return self; } - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeInteger:_identifier forKey:kInviteCodeModelDataId]; [aCoder encodeObject:_name forKey:kInviteCodeModelDataName]; [aCoder encodeObject:_bankName forKey:kInviteCodeModelDataBankName]; [aCoder encodeObject:_inviteCode forKey:kInviteCodeModelDataInviteCode]; [aCoder encodeInteger:_inviteNum forKey:kInviteCodeModelDataInviteNum]; [aCoder encodeDouble:_balance forKey:kInviteCodeModelDataBalance]; [aCoder encodeObject:_bankNo forKey:kInviteCodeModelDataBankNo]; [aCoder encodeInteger:_userId forKey:kInviteCodeModelDataUserId]; [aCoder encodeDouble:_income forKey:kInviteCodeModelDataIncome]; [aCoder encodeInteger:_bankId forKey:kInviteCodeModelDataBankId]; [aCoder encodeInteger:_status forKey:kInviteCodeModelDataStatus]; [aCoder encodeObject:_deviceCode forKey:kInviteCodeModelDataDeviceCode]; } - (id)copyWithZone:(NSZone *)zone { InviteCodeModelData *copy = [[InviteCodeModelData alloc] init]; if (copy) { copy.identifier = self.identifier; copy.name = [self.name copyWithZone:zone]; copy.bankName = [self.bankName copyWithZone:zone]; copy.inviteCode = [self.inviteCode copyWithZone:zone]; copy.inviteNum = self.inviteNum; copy.balance = self.balance; copy.bankNo = [self.bankNo copyWithZone:zone]; copy.userId = self.userId; copy.income = self.income; copy.bankId = self.bankId; copy.status = self.status; copy.deviceCode = [self.deviceCode copyWithZone:zone]; } return copy; } @end