// // HomeHotMusicModel.m // // Created by Steven on 2022/8/5 // Copyright (c) 2022 __MyCompanyName__. All rights reserved. // #import "HomeHotMusicModel.h" NSString *const kHomeHotMusicModelMetronomeUrl = @"metronomeUrl"; NSString *const kHomeHotMusicModelMusicSheetName = @"musicSheetName"; NSString *const kHomeHotMusicModelNotation = @"notation"; NSString *const kHomeHotMusicModelId = @"id"; NSString *const kHomeHotMusicModelXmlFileUrl = @"xmlFileUrl"; NSString *const kHomeHotMusicModelShowFingering = @"showFingering"; NSString *const kHomeHotMusicModelRemark = @"remark"; NSString *const kHomeHotMusicModelState = @"state"; NSString *const kHomeHotMusicModelFavoriteCount = @"favoriteCount"; NSString *const kHomeHotMusicModelUrl = @"url"; NSString *const kHomeHotMusicModelMusicPrice = @"musicPrice"; NSString *const kHomeHotMusicModelSortNumber = @"sortNumber"; NSString *const kHomeHotMusicModelPlay = @"play"; NSString *const kHomeHotMusicModelAddUserAvatar = @"addUserAvatar"; NSString *const kHomeHotMusicModelAudioType = @"audioType"; NSString *const kHomeHotMusicModelCanEvaluate = @"canEvaluate"; NSString *const kHomeHotMusicModelDelFlag = @"delFlag"; NSString *const kHomeHotMusicModelMusicTagNames = @"musicTagNames"; NSString *const kHomeHotMusicModelSubjectNames = @"subjectNames"; NSString *const kHomeHotMusicModelChargeType = @"chargeType"; NSString *const kHomeHotMusicModelUpdateTime = @"updateTime"; NSString *const kHomeHotMusicModelUpdateBy = @"updateBy"; NSString *const kHomeHotMusicModelMusicTag = @"musicTag"; NSString *const kHomeHotMusicModelExtConfigJson = @"extConfigJson"; NSString *const kHomeHotMusicModelAddName = @"addName"; NSString *const kHomeHotMusicModelFavorite = @"favorite"; NSString *const kHomeHotMusicModelAuditStatus = @"auditStatus"; NSString *const kHomeHotMusicModelCreateBy = @"createBy"; NSString *const kHomeHotMusicModelMidiUrl = @"midiUrl"; NSString *const kHomeHotMusicModelTopFlag = @"topFlag"; NSString *const kHomeHotMusicModelComposer = @"composer"; NSString *const kHomeHotMusicModelSourceType = @"sourceType"; NSString *const kHomeHotMusicModelHotFlag = @"hotFlag"; NSString *const kHomeHotMusicModelMp3Type = @"mp3Type"; NSString *const kHomeHotMusicModelCreateTime = @"createTime"; NSString *const kHomeHotMusicModelPlaySpeed = @"playSpeed"; NSString *const kHomeHotMusicModelHasBeat = @"hasBeat"; NSString *const kHomeHotMusicModelAudioFileUrl = @"audioFileUrl"; NSString *const kHomeHotMusicModelReason = @"reason"; NSString *const kHomeHotMusicModelAuditVersion = @"auditVersion"; NSString *const kHomeHotMusicModelMusicSubject = @"musicSubject"; NSString *const kHomeHotMusicModelUserId = @"userId"; NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime"; NSString *const kHomeHotMusicModelExquisiteFlag = @"exquisiteFlag"; NSString *const kHomeHotMusicModelPaymentType = @"paymentType"; NSString *const kHomeHotMusicModelAlbumNums = @"albumNums"; @interface HomeHotMusicModel () - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict; @end @implementation HomeHotMusicModel @synthesize metronomeUrl = _metronomeUrl; @synthesize musicSheetName = _musicSheetName; @synthesize notation = _notation; @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier; @synthesize xmlFileUrl = _xmlFileUrl; @synthesize showFingering = _showFingering; @synthesize remark = _remark; @synthesize state = _state; @synthesize favoriteCount = _favoriteCount; @synthesize url = _url; @synthesize musicPrice = _musicPrice; @synthesize sortNumber = _sortNumber; @synthesize play = _play; @synthesize addUserAvatar = _addUserAvatar; @synthesize audioType = _audioType; @synthesize canEvaluate = _canEvaluate; @synthesize delFlag = _delFlag; @synthesize musicTagNames = _musicTagNames; @synthesize subjectNames = _subjectNames; @synthesize chargeType = _chargeType; @synthesize updateTime = _updateTime; @synthesize updateBy = _updateBy; @synthesize musicTag = _musicTag; @synthesize extConfigJson = _extConfigJson; @synthesize addName = _addName; @synthesize favorite = _favorite; @synthesize auditStatus = _auditStatus; @synthesize createBy = _createBy; @synthesize midiUrl = _midiUrl; @synthesize topFlag = _topFlag; @synthesize composer = _composer; @synthesize sourceType = _sourceType; @synthesize hotFlag = _hotFlag; @synthesize mp3Type = _mp3Type; @synthesize createTime = _createTime; @synthesize playSpeed = _playSpeed; @synthesize hasBeat = _hasBeat; @synthesize audioFileUrl = _audioFileUrl; @synthesize reason = _reason; @synthesize auditVersion = _auditVersion; @synthesize musicSubject = _musicSubject; @synthesize userId = _userId; @synthesize submitAuditTime = _submitAuditTime; @synthesize exquisiteFlag = _exquisiteFlag; @synthesize paymentType = _paymentType; @synthesize albumNums = _albumNums; + (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.metronomeUrl = [self objectOrNilForKey:kHomeHotMusicModelMetronomeUrl fromDictionary:dict]; self.musicSheetName = [self objectOrNilForKey:kHomeHotMusicModelMusicSheetName fromDictionary:dict]; self.notation = [[self objectOrNilForKey:kHomeHotMusicModelNotation fromDictionary:dict] doubleValue]; self.internalBaseClassIdentifier = [[self objectOrNilForKey:kHomeHotMusicModelId fromDictionary:dict] doubleValue]; self.xmlFileUrl = [self objectOrNilForKey:kHomeHotMusicModelXmlFileUrl fromDictionary:dict]; self.showFingering = [[self objectOrNilForKey:kHomeHotMusicModelShowFingering fromDictionary:dict] doubleValue]; self.remark = [self objectOrNilForKey:kHomeHotMusicModelRemark fromDictionary:dict]; self.state = [[self objectOrNilForKey:kHomeHotMusicModelState fromDictionary:dict] doubleValue]; self.favoriteCount = [[self objectOrNilForKey:kHomeHotMusicModelFavoriteCount fromDictionary:dict] doubleValue]; self.url = [self objectOrNilForKey:kHomeHotMusicModelUrl fromDictionary:dict]; self.musicPrice = [[self objectOrNilForKey:kHomeHotMusicModelMusicPrice fromDictionary:dict] doubleValue]; self.sortNumber = [[self objectOrNilForKey:kHomeHotMusicModelSortNumber fromDictionary:dict] doubleValue]; self.play = [self objectOrNilForKey:kHomeHotMusicModelPlay fromDictionary:dict]; self.addUserAvatar = [self objectOrNilForKey:kHomeHotMusicModelAddUserAvatar fromDictionary:dict]; self.audioType = [self objectOrNilForKey:kHomeHotMusicModelAudioType fromDictionary:dict]; self.canEvaluate = [[self objectOrNilForKey:kHomeHotMusicModelCanEvaluate fromDictionary:dict] doubleValue]; self.delFlag = [[self objectOrNilForKey:kHomeHotMusicModelDelFlag fromDictionary:dict] boolValue]; self.musicTagNames = [self objectOrNilForKey:kHomeHotMusicModelMusicTagNames fromDictionary:dict]; self.subjectNames = [self objectOrNilForKey:kHomeHotMusicModelSubjectNames fromDictionary:dict]; self.chargeType = [self objectOrNilForKey:kHomeHotMusicModelChargeType fromDictionary:dict]; self.updateTime = [self objectOrNilForKey:kHomeHotMusicModelUpdateTime fromDictionary:dict]; self.updateBy = [[self objectOrNilForKey:kHomeHotMusicModelUpdateBy fromDictionary:dict] doubleValue]; self.musicTag = [self objectOrNilForKey:kHomeHotMusicModelMusicTag fromDictionary:dict]; self.extConfigJson = [self objectOrNilForKey:kHomeHotMusicModelExtConfigJson fromDictionary:dict]; self.addName = [self objectOrNilForKey:kHomeHotMusicModelAddName fromDictionary:dict]; self.favorite = [self objectOrNilForKey:kHomeHotMusicModelFavorite fromDictionary:dict]; self.auditStatus = [self objectOrNilForKey:kHomeHotMusicModelAuditStatus fromDictionary:dict]; self.createBy = [[self objectOrNilForKey:kHomeHotMusicModelCreateBy fromDictionary:dict] doubleValue]; self.midiUrl = [self objectOrNilForKey:kHomeHotMusicModelMidiUrl fromDictionary:dict]; self.topFlag = [[self objectOrNilForKey:kHomeHotMusicModelTopFlag fromDictionary:dict] doubleValue]; self.composer = [self objectOrNilForKey:kHomeHotMusicModelComposer fromDictionary:dict]; self.sourceType = [self objectOrNilForKey:kHomeHotMusicModelSourceType fromDictionary:dict]; self.hotFlag = [self objectOrNilForKey:kHomeHotMusicModelHotFlag fromDictionary:dict]; self.mp3Type = [self objectOrNilForKey:kHomeHotMusicModelMp3Type fromDictionary:dict]; self.createTime = [self objectOrNilForKey:kHomeHotMusicModelCreateTime fromDictionary:dict]; self.playSpeed = [[self objectOrNilForKey:kHomeHotMusicModelPlaySpeed fromDictionary:dict] doubleValue]; self.hasBeat = [self objectOrNilForKey:kHomeHotMusicModelHasBeat fromDictionary:dict]; self.audioFileUrl = [self objectOrNilForKey:kHomeHotMusicModelAudioFileUrl fromDictionary:dict]; self.reason = [self objectOrNilForKey:kHomeHotMusicModelReason fromDictionary:dict]; self.auditVersion = [[self objectOrNilForKey:kHomeHotMusicModelAuditVersion fromDictionary:dict] doubleValue]; self.musicSubject = [self objectOrNilForKey:kHomeHotMusicModelMusicSubject fromDictionary:dict]; self.userId = [[self objectOrNilForKey:kHomeHotMusicModelUserId fromDictionary:dict] doubleValue]; self.submitAuditTime = [self objectOrNilForKey:kHomeHotMusicModelSubmitAuditTime fromDictionary:dict]; self.exquisiteFlag = [[self objectOrNilForKey:kHomeHotMusicModelExquisiteFlag fromDictionary:dict] boolValue]; self.paymentType = [self objectOrNilForKey:kHomeHotMusicModelPaymentType fromDictionary:dict]; self.albumNums = [[self objectOrNilForKey:kHomeHotMusicModelAlbumNums fromDictionary:dict] integerValue]; } return self; } - (NSDictionary *)dictionaryRepresentation { NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary]; [mutableDict setValue:self.metronomeUrl forKey:kHomeHotMusicModelMetronomeUrl]; [mutableDict setValue:self.musicSheetName forKey:kHomeHotMusicModelMusicSheetName]; [mutableDict setValue:[NSNumber numberWithDouble:self.notation] forKey:kHomeHotMusicModelNotation]; [mutableDict setValue:[NSNumber numberWithDouble:self.internalBaseClassIdentifier] forKey:kHomeHotMusicModelId]; [mutableDict setValue:self.xmlFileUrl forKey:kHomeHotMusicModelXmlFileUrl]; [mutableDict setValue:[NSNumber numberWithDouble:self.showFingering] forKey:kHomeHotMusicModelShowFingering]; [mutableDict setValue:self.remark forKey:kHomeHotMusicModelRemark]; [mutableDict setValue:[NSNumber numberWithDouble:self.state] forKey:kHomeHotMusicModelState]; [mutableDict setValue:[NSNumber numberWithDouble:self.favoriteCount] forKey:kHomeHotMusicModelFavoriteCount]; [mutableDict setValue:self.url forKey:kHomeHotMusicModelUrl]; [mutableDict setValue:[NSNumber numberWithDouble:self.musicPrice] forKey:kHomeHotMusicModelMusicPrice]; [mutableDict setValue:[NSNumber numberWithDouble:self.sortNumber] forKey:kHomeHotMusicModelSortNumber]; [mutableDict setValue:self.play forKey:kHomeHotMusicModelPlay]; [mutableDict setValue:self.addUserAvatar forKey:kHomeHotMusicModelAddUserAvatar]; [mutableDict setValue:self.audioType forKey:kHomeHotMusicModelAudioType]; [mutableDict setValue:[NSNumber numberWithDouble:self.canEvaluate] forKey:kHomeHotMusicModelCanEvaluate]; [mutableDict setValue:[NSNumber numberWithBool:self.delFlag] forKey:kHomeHotMusicModelDelFlag]; [mutableDict setValue:self.musicTagNames forKey:kHomeHotMusicModelMusicTagNames]; [mutableDict setValue:self.subjectNames forKey:kHomeHotMusicModelSubjectNames]; [mutableDict setValue:self.chargeType forKey:kHomeHotMusicModelChargeType]; [mutableDict setValue:self.updateTime forKey:kHomeHotMusicModelUpdateTime]; [mutableDict setValue:[NSNumber numberWithDouble:self.updateBy] forKey:kHomeHotMusicModelUpdateBy]; [mutableDict setValue:self.musicTag forKey:kHomeHotMusicModelMusicTag]; [mutableDict setValue:self.extConfigJson forKey:kHomeHotMusicModelExtConfigJson]; [mutableDict setValue:self.addName forKey:kHomeHotMusicModelAddName]; [mutableDict setValue:self.favorite forKey:kHomeHotMusicModelFavorite]; [mutableDict setValue:self.auditStatus forKey:kHomeHotMusicModelAuditStatus]; [mutableDict setValue:[NSNumber numberWithDouble:self.createBy] forKey:kHomeHotMusicModelCreateBy]; [mutableDict setValue:self.midiUrl forKey:kHomeHotMusicModelMidiUrl]; [mutableDict setValue:[NSNumber numberWithDouble:self.topFlag] forKey:kHomeHotMusicModelTopFlag]; [mutableDict setValue:self.composer forKey:kHomeHotMusicModelComposer]; [mutableDict setValue:self.sourceType forKey:kHomeHotMusicModelSourceType]; [mutableDict setValue:self.hotFlag forKey:kHomeHotMusicModelHotFlag]; [mutableDict setValue:self.mp3Type forKey:kHomeHotMusicModelMp3Type]; [mutableDict setValue:self.createTime forKey:kHomeHotMusicModelCreateTime]; [mutableDict setValue:[NSNumber numberWithDouble:self.playSpeed] forKey:kHomeHotMusicModelPlaySpeed]; [mutableDict setValue:self.hasBeat forKey:kHomeHotMusicModelHasBeat]; [mutableDict setValue:self.audioFileUrl forKey:kHomeHotMusicModelAudioFileUrl]; [mutableDict setValue:self.reason forKey:kHomeHotMusicModelReason]; [mutableDict setValue:[NSNumber numberWithDouble:self.auditVersion] forKey:kHomeHotMusicModelAuditVersion]; [mutableDict setValue:self.musicSubject forKey:kHomeHotMusicModelMusicSubject]; [mutableDict setValue:[NSNumber numberWithDouble:self.userId] forKey:kHomeHotMusicModelUserId]; [mutableDict setValue:self.submitAuditTime forKey:kHomeHotMusicModelSubmitAuditTime]; [mutableDict setValue:[NSNumber numberWithBool:self.exquisiteFlag] forKey:kHomeHotMusicModelExquisiteFlag]; [mutableDict setValue:self.paymentType forKey:kHomeHotMusicModelPaymentType]; [mutableDict setValue:[NSNumber numberWithInteger:self.albumNums] forKey:kHomeHotMusicModelAlbumNums]; 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.metronomeUrl = [aDecoder decodeObjectForKey:kHomeHotMusicModelMetronomeUrl]; self.musicSheetName = [aDecoder decodeObjectForKey:kHomeHotMusicModelMusicSheetName]; self.notation = [aDecoder decodeDoubleForKey:kHomeHotMusicModelNotation]; self.internalBaseClassIdentifier = [aDecoder decodeDoubleForKey:kHomeHotMusicModelId]; self.xmlFileUrl = [aDecoder decodeObjectForKey:kHomeHotMusicModelXmlFileUrl]; self.showFingering = [aDecoder decodeDoubleForKey:kHomeHotMusicModelShowFingering]; self.remark = [aDecoder decodeObjectForKey:kHomeHotMusicModelRemark]; self.state = [aDecoder decodeDoubleForKey:kHomeHotMusicModelState]; self.favoriteCount = [aDecoder decodeDoubleForKey:kHomeHotMusicModelFavoriteCount]; self.url = [aDecoder decodeObjectForKey:kHomeHotMusicModelUrl]; self.musicPrice = [aDecoder decodeDoubleForKey:kHomeHotMusicModelMusicPrice]; self.sortNumber = [aDecoder decodeDoubleForKey:kHomeHotMusicModelSortNumber]; self.play = [aDecoder decodeObjectForKey:kHomeHotMusicModelPlay]; self.addUserAvatar = [aDecoder decodeObjectForKey:kHomeHotMusicModelAddUserAvatar]; self.audioType = [aDecoder decodeObjectForKey:kHomeHotMusicModelAudioType]; self.canEvaluate = [aDecoder decodeDoubleForKey:kHomeHotMusicModelCanEvaluate]; self.delFlag = [aDecoder decodeBoolForKey:kHomeHotMusicModelDelFlag]; self.musicTagNames = [aDecoder decodeObjectForKey:kHomeHotMusicModelMusicTagNames]; self.subjectNames = [aDecoder decodeObjectForKey:kHomeHotMusicModelSubjectNames]; self.chargeType = [aDecoder decodeObjectForKey:kHomeHotMusicModelChargeType]; self.updateTime = [aDecoder decodeObjectForKey:kHomeHotMusicModelUpdateTime]; self.updateBy = [aDecoder decodeDoubleForKey:kHomeHotMusicModelUpdateBy]; self.musicTag = [aDecoder decodeObjectForKey:kHomeHotMusicModelMusicTag]; self.extConfigJson = [aDecoder decodeObjectForKey:kHomeHotMusicModelExtConfigJson]; self.addName = [aDecoder decodeObjectForKey:kHomeHotMusicModelAddName]; self.favorite = [aDecoder decodeObjectForKey:kHomeHotMusicModelFavorite]; self.auditStatus = [aDecoder decodeObjectForKey:kHomeHotMusicModelAuditStatus]; self.createBy = [aDecoder decodeDoubleForKey:kHomeHotMusicModelCreateBy]; self.midiUrl = [aDecoder decodeObjectForKey:kHomeHotMusicModelMidiUrl]; self.topFlag = [aDecoder decodeDoubleForKey:kHomeHotMusicModelTopFlag]; self.composer = [aDecoder decodeObjectForKey:kHomeHotMusicModelComposer]; self.sourceType = [aDecoder decodeObjectForKey:kHomeHotMusicModelSourceType]; self.hotFlag = [aDecoder decodeObjectForKey:kHomeHotMusicModelHotFlag]; self.mp3Type = [aDecoder decodeObjectForKey:kHomeHotMusicModelMp3Type]; self.createTime = [aDecoder decodeObjectForKey:kHomeHotMusicModelCreateTime]; self.playSpeed = [aDecoder decodeDoubleForKey:kHomeHotMusicModelPlaySpeed]; self.hasBeat = [aDecoder decodeObjectForKey:kHomeHotMusicModelHasBeat]; self.audioFileUrl = [aDecoder decodeObjectForKey:kHomeHotMusicModelAudioFileUrl]; self.reason = [aDecoder decodeObjectForKey:kHomeHotMusicModelReason]; self.auditVersion = [aDecoder decodeDoubleForKey:kHomeHotMusicModelAuditVersion]; self.musicSubject = [aDecoder decodeObjectForKey:kHomeHotMusicModelMusicSubject]; self.userId = [aDecoder decodeDoubleForKey:kHomeHotMusicModelUserId]; self.submitAuditTime = [aDecoder decodeObjectForKey:kHomeHotMusicModelSubmitAuditTime]; self.exquisiteFlag = [aDecoder decodeBoolForKey:kHomeHotMusicModelExquisiteFlag]; self.paymentType = [aDecoder decodeObjectForKey:kHomeHotMusicModelPaymentType]; self.albumNums = [aDecoder decodeIntegerForKey:kHomeHotMusicModelAlbumNums]; return self; } - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:_metronomeUrl forKey:kHomeHotMusicModelMetronomeUrl]; [aCoder encodeObject:_musicSheetName forKey:kHomeHotMusicModelMusicSheetName]; [aCoder encodeDouble:_notation forKey:kHomeHotMusicModelNotation]; [aCoder encodeDouble:_internalBaseClassIdentifier forKey:kHomeHotMusicModelId]; [aCoder encodeObject:_xmlFileUrl forKey:kHomeHotMusicModelXmlFileUrl]; [aCoder encodeDouble:_showFingering forKey:kHomeHotMusicModelShowFingering]; [aCoder encodeObject:_remark forKey:kHomeHotMusicModelRemark]; [aCoder encodeDouble:_state forKey:kHomeHotMusicModelState]; [aCoder encodeDouble:_favoriteCount forKey:kHomeHotMusicModelFavoriteCount]; [aCoder encodeObject:_url forKey:kHomeHotMusicModelUrl]; [aCoder encodeDouble:_musicPrice forKey:kHomeHotMusicModelMusicPrice]; [aCoder encodeDouble:_sortNumber forKey:kHomeHotMusicModelSortNumber]; [aCoder encodeObject:_play forKey:kHomeHotMusicModelPlay]; [aCoder encodeObject:_addUserAvatar forKey:kHomeHotMusicModelAddUserAvatar]; [aCoder encodeObject:_audioType forKey:kHomeHotMusicModelAudioType]; [aCoder encodeDouble:_canEvaluate forKey:kHomeHotMusicModelCanEvaluate]; [aCoder encodeBool:_delFlag forKey:kHomeHotMusicModelDelFlag]; [aCoder encodeObject:_musicTagNames forKey:kHomeHotMusicModelMusicTagNames]; [aCoder encodeObject:_subjectNames forKey:kHomeHotMusicModelSubjectNames]; [aCoder encodeObject:_chargeType forKey:kHomeHotMusicModelChargeType]; [aCoder encodeObject:_updateTime forKey:kHomeHotMusicModelUpdateTime]; [aCoder encodeDouble:_updateBy forKey:kHomeHotMusicModelUpdateBy]; [aCoder encodeObject:_musicTag forKey:kHomeHotMusicModelMusicTag]; [aCoder encodeObject:_extConfigJson forKey:kHomeHotMusicModelExtConfigJson]; [aCoder encodeObject:_addName forKey:kHomeHotMusicModelAddName]; [aCoder encodeObject:_favorite forKey:kHomeHotMusicModelFavorite]; [aCoder encodeObject:_auditStatus forKey:kHomeHotMusicModelAuditStatus]; [aCoder encodeDouble:_createBy forKey:kHomeHotMusicModelCreateBy]; [aCoder encodeObject:_midiUrl forKey:kHomeHotMusicModelMidiUrl]; [aCoder encodeDouble:_topFlag forKey:kHomeHotMusicModelTopFlag]; [aCoder encodeObject:_composer forKey:kHomeHotMusicModelComposer]; [aCoder encodeObject:_sourceType forKey:kHomeHotMusicModelSourceType]; [aCoder encodeObject:_hotFlag forKey:kHomeHotMusicModelHotFlag]; [aCoder encodeObject:_mp3Type forKey:kHomeHotMusicModelMp3Type]; [aCoder encodeObject:_createTime forKey:kHomeHotMusicModelCreateTime]; [aCoder encodeDouble:_playSpeed forKey:kHomeHotMusicModelPlaySpeed]; [aCoder encodeObject:_hasBeat forKey:kHomeHotMusicModelHasBeat]; [aCoder encodeObject:_audioFileUrl forKey:kHomeHotMusicModelAudioFileUrl]; [aCoder encodeObject:_reason forKey:kHomeHotMusicModelReason]; [aCoder encodeDouble:_auditVersion forKey:kHomeHotMusicModelAuditVersion]; [aCoder encodeObject:_musicSubject forKey:kHomeHotMusicModelMusicSubject]; [aCoder encodeDouble:_userId forKey:kHomeHotMusicModelUserId]; [aCoder encodeObject:_submitAuditTime forKey:kHomeHotMusicModelSubmitAuditTime]; [aCoder encodeBool:_exquisiteFlag forKey:kHomeHotMusicModelExquisiteFlag]; [aCoder encodeObject:_paymentType forKey:kHomeHotMusicModelPaymentType]; [aCoder encodeInteger:_albumNums forKey:kHomeHotMusicModelAlbumNums]; } - (id)copyWithZone:(NSZone *)zone { HomeHotMusicModel *copy = [[HomeHotMusicModel alloc] init]; if (copy) { copy.metronomeUrl = [self.metronomeUrl copyWithZone:zone]; copy.musicSheetName = [self.musicSheetName copyWithZone:zone]; copy.notation = self.notation; copy.internalBaseClassIdentifier = self.internalBaseClassIdentifier; copy.xmlFileUrl = [self.xmlFileUrl copyWithZone:zone]; copy.showFingering = self.showFingering; copy.remark = [self.remark copyWithZone:zone]; copy.state = self.state; copy.favoriteCount = self.favoriteCount; copy.url = [self.url copyWithZone:zone]; copy.musicPrice = self.musicPrice; copy.sortNumber = self.sortNumber; copy.play = [self.play copyWithZone:zone]; copy.addUserAvatar = [self.addUserAvatar copyWithZone:zone]; copy.audioType = [self.audioType copyWithZone:zone]; copy.canEvaluate = self.canEvaluate; copy.delFlag = self.delFlag; copy.musicTagNames = [self.musicTagNames copyWithZone:zone]; copy.subjectNames = [self.subjectNames copyWithZone:zone]; copy.chargeType = [self.chargeType copyWithZone:zone]; copy.updateTime = [self.updateTime copyWithZone:zone]; copy.updateBy = self.updateBy; copy.musicTag = [self.musicTag copyWithZone:zone]; copy.extConfigJson = [self.extConfigJson copyWithZone:zone]; copy.addName = [self.addName copyWithZone:zone]; copy.favorite = [self.favorite copyWithZone:zone]; copy.auditStatus = [self.auditStatus copyWithZone:zone]; copy.createBy = self.createBy; copy.midiUrl = [self.midiUrl copyWithZone:zone]; copy.topFlag = self.topFlag; copy.composer = [self.composer copyWithZone:zone]; copy.sourceType = [self.sourceType copyWithZone:zone]; copy.hotFlag = [self.hotFlag copyWithZone:zone]; copy.mp3Type = [self.mp3Type copyWithZone:zone]; copy.createTime = [self.createTime copyWithZone:zone]; copy.playSpeed = self.playSpeed; copy.hasBeat = [self.hasBeat copyWithZone:zone]; copy.audioFileUrl = [self.audioFileUrl copyWithZone:zone]; copy.reason = [self.reason copyWithZone:zone]; copy.auditVersion = self.auditVersion; copy.musicSubject = [self.musicSubject copyWithZone:zone]; copy.userId = self.userId; copy.submitAuditTime = [self.submitAuditTime copyWithZone:zone]; copy.exquisiteFlag = self.exquisiteFlag; copy.paymentType = [self.paymentType copyWithZone:zone]; copy.albumNums = self.albumNums; } return copy; } @end