123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- //
- // RecentPracticeModel.m
- //
- // Created by Steven on 2022/10/18
- // Copyright (c) 2022 __MyCompanyName__. All rights reserved.
- //
- #import "RecentPracticeModel.h"
- NSString *const kRecentPracticeModelMetronomeUrl = @"metronomeUrl";
- NSString *const kRecentPracticeModelMusicSheetName = @"musicSheetName";
- NSString *const kRecentPracticeModelAlbumNums = @"albumNums";
- NSString *const kRecentPracticeModelId = @"id";
- NSString *const kRecentPracticeModelXmlFileUrl = @"xmlFileUrl";
- NSString *const kRecentPracticeModelShowFingering = @"showFingering";
- NSString *const kRecentPracticeModelAlbumSortNumber = @"albumSortNumber";
- NSString *const kRecentPracticeModelState = @"state";
- NSString *const kRecentPracticeModelRemark = @"remark";
- NSString *const kRecentPracticeModelTitleImg = @"titleImg";
- NSString *const kRecentPracticeModelNotation = @"notation";
- NSString *const kRecentPracticeModelMusicImg = @"musicImg";
- NSString *const kRecentPracticeModelFavoriteCount = @"favoriteCount";
- NSString *const kRecentPracticeModelUrl = @"url";
- NSString *const kRecentPracticeModelMusicPrice = @"musicPrice";
- NSString *const kRecentPracticeModelSortNumber = @"sortNumber";
- NSString *const kRecentPracticeModelExquisiteFlag = @"exquisiteFlag";
- NSString *const kRecentPracticeModelPlay = @"play";
- NSString *const kRecentPracticeModelAddUserAvatar = @"addUserAvatar";
- NSString *const kRecentPracticeModelAudioType = @"audioType";
- NSString *const kRecentPracticeModelCanEvaluate = @"canEvaluate";
- NSString *const kRecentPracticeModelDelFlag = @"delFlag";
- NSString *const kRecentPracticeModelMusicTagNames = @"musicTagNames";
- NSString *const kRecentPracticeModelSubjectNames = @"subjectNames";
- NSString *const kRecentPracticeModelChargeType = @"chargeType";
- NSString *const kRecentPracticeModelUpdateTime = @"updateTime";
- NSString *const kRecentPracticeModelUpdateBy = @"updateBy";
- NSString *const kRecentPracticeModelMusicTag = @"musicTag";
- NSString *const kRecentPracticeModelExtConfigJson = @"extConfigJson";
- NSString *const kRecentPracticeModelAddName = @"addName";
- NSString *const kRecentPracticeModelPaymentType = @"paymentType";
- NSString *const kRecentPracticeModelAccompanimentType = @"accompanimentType";
- NSString *const kRecentPracticeModelFavorite = @"favorite";
- NSString *const kRecentPracticeModelAuditStatus = @"auditStatus";
- NSString *const kRecentPracticeModelCreateBy = @"createBy";
- NSString *const kRecentPracticeModelTopFlag = @"topFlag";
- NSString *const kRecentPracticeModelMidiUrl = @"midiUrl";
- NSString *const kRecentPracticeModelComposer = @"composer";
- NSString *const kRecentPracticeModelSourceType = @"sourceType";
- NSString *const kRecentPracticeModelFirstPassAuditTime = @"firstPassAuditTime";
- NSString *const kRecentPracticeModelMp3Type = @"mp3Type";
- NSString *const kRecentPracticeModelHotFlag = @"hotFlag";
- NSString *const kRecentPracticeModelCreateTime = @"createTime";
- NSString *const kRecentPracticeModelPlaySpeed = @"playSpeed";
- NSString *const kRecentPracticeModelAudioFileUrl = @"audioFileUrl";
- NSString *const kRecentPracticeModelHasBeat = @"hasBeat";
- NSString *const kRecentPracticeModelReason = @"reason";
- NSString *const kRecentPracticeModelAuditVersion = @"auditVersion";
- NSString *const kRecentPracticeModelMusicSubject = @"musicSubject";
- NSString *const kRecentPracticeModelUserId = @"userId";
- NSString *const kRecentPracticeModelSubmitAuditTime = @"submitAuditTime";
- NSString *const kRecentPracticeModelMusicSheetType = @"musicSheetType";
- @interface RecentPracticeModel ()
- - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
- @end
- @implementation RecentPracticeModel
- @synthesize metronomeUrl = _metronomeUrl;
- @synthesize musicSheetName = _musicSheetName;
- @synthesize albumNums = _albumNums;
- @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
- @synthesize xmlFileUrl = _xmlFileUrl;
- @synthesize showFingering = _showFingering;
- @synthesize albumSortNumber = _albumSortNumber;
- @synthesize state = _state;
- @synthesize remark = _remark;
- @synthesize titleImg = _titleImg;
- @synthesize notation = _notation;
- @synthesize musicImg = _musicImg;
- @synthesize favoriteCount = _favoriteCount;
- @synthesize url = _url;
- @synthesize musicPrice = _musicPrice;
- @synthesize sortNumber = _sortNumber;
- @synthesize exquisiteFlag = _exquisiteFlag;
- @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 paymentType = _paymentType;
- @synthesize accompanimentType = _accompanimentType;
- @synthesize favorite = _favorite;
- @synthesize auditStatus = _auditStatus;
- @synthesize createBy = _createBy;
- @synthesize topFlag = _topFlag;
- @synthesize midiUrl = _midiUrl;
- @synthesize composer = _composer;
- @synthesize sourceType = _sourceType;
- @synthesize firstPassAuditTime = _firstPassAuditTime;
- @synthesize mp3Type = _mp3Type;
- @synthesize hotFlag = _hotFlag;
- @synthesize createTime = _createTime;
- @synthesize playSpeed = _playSpeed;
- @synthesize audioFileUrl = _audioFileUrl;
- @synthesize hasBeat = _hasBeat;
- @synthesize reason = _reason;
- @synthesize auditVersion = _auditVersion;
- @synthesize musicSubject = _musicSubject;
- @synthesize userId = _userId;
- @synthesize submitAuditTime = _submitAuditTime;
- @synthesize musicSheetType = _musicSheetType;
- + (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:kRecentPracticeModelMetronomeUrl fromDictionary:dict];
- self.musicSheetName = [self objectOrNilForKey:kRecentPracticeModelMusicSheetName fromDictionary:dict];
- self.albumNums = [[self objectOrNilForKey:kRecentPracticeModelAlbumNums fromDictionary:dict] doubleValue];
- self.internalBaseClassIdentifier = [self objectOrNilForKey:kRecentPracticeModelId fromDictionary:dict];
- self.xmlFileUrl = [self objectOrNilForKey:kRecentPracticeModelXmlFileUrl fromDictionary:dict];
- self.showFingering = [[self objectOrNilForKey:kRecentPracticeModelShowFingering fromDictionary:dict] doubleValue];
- self.albumSortNumber = [[self objectOrNilForKey:kRecentPracticeModelAlbumSortNumber fromDictionary:dict] doubleValue];
- self.state = [[self objectOrNilForKey:kRecentPracticeModelState fromDictionary:dict] doubleValue];
- self.remark = [self objectOrNilForKey:kRecentPracticeModelRemark fromDictionary:dict];
- self.titleImg = [self objectOrNilForKey:kRecentPracticeModelTitleImg fromDictionary:dict];
- self.notation = [[self objectOrNilForKey:kRecentPracticeModelNotation fromDictionary:dict] doubleValue];
- self.musicImg = [self objectOrNilForKey:kRecentPracticeModelMusicImg fromDictionary:dict];
- self.favoriteCount = [[self objectOrNilForKey:kRecentPracticeModelFavoriteCount fromDictionary:dict] doubleValue];
- self.url = [self objectOrNilForKey:kRecentPracticeModelUrl fromDictionary:dict];
- self.musicPrice = [[self objectOrNilForKey:kRecentPracticeModelMusicPrice fromDictionary:dict] doubleValue];
- self.sortNumber = [[self objectOrNilForKey:kRecentPracticeModelSortNumber fromDictionary:dict] doubleValue];
- self.exquisiteFlag = [[self objectOrNilForKey:kRecentPracticeModelExquisiteFlag fromDictionary:dict] doubleValue];
- self.play = [self objectOrNilForKey:kRecentPracticeModelPlay fromDictionary:dict];
- self.addUserAvatar = [self objectOrNilForKey:kRecentPracticeModelAddUserAvatar fromDictionary:dict];
- self.audioType = [self objectOrNilForKey:kRecentPracticeModelAudioType fromDictionary:dict];
- self.canEvaluate = [[self objectOrNilForKey:kRecentPracticeModelCanEvaluate fromDictionary:dict] doubleValue];
- self.delFlag = [[self objectOrNilForKey:kRecentPracticeModelDelFlag fromDictionary:dict] boolValue];
- self.musicTagNames = [self objectOrNilForKey:kRecentPracticeModelMusicTagNames fromDictionary:dict];
- self.subjectNames = [self objectOrNilForKey:kRecentPracticeModelSubjectNames fromDictionary:dict];
- self.chargeType = [self objectOrNilForKey:kRecentPracticeModelChargeType fromDictionary:dict];
- self.updateTime = [self objectOrNilForKey:kRecentPracticeModelUpdateTime fromDictionary:dict];
- self.updateBy = [[self objectOrNilForKey:kRecentPracticeModelUpdateBy fromDictionary:dict] doubleValue];
- self.musicTag = [self objectOrNilForKey:kRecentPracticeModelMusicTag fromDictionary:dict];
- self.extConfigJson = [self objectOrNilForKey:kRecentPracticeModelExtConfigJson fromDictionary:dict];
- self.addName = [self objectOrNilForKey:kRecentPracticeModelAddName fromDictionary:dict];
- self.paymentType = [self objectOrNilForKey:kRecentPracticeModelPaymentType fromDictionary:dict];
- self.accompanimentType = [self objectOrNilForKey:kRecentPracticeModelAccompanimentType fromDictionary:dict];
- self.favorite = [[self objectOrNilForKey:kRecentPracticeModelFavorite fromDictionary:dict] doubleValue];
- self.auditStatus = [self objectOrNilForKey:kRecentPracticeModelAuditStatus fromDictionary:dict];
- self.createBy = [[self objectOrNilForKey:kRecentPracticeModelCreateBy fromDictionary:dict] doubleValue];
- self.topFlag = [[self objectOrNilForKey:kRecentPracticeModelTopFlag fromDictionary:dict] doubleValue];
- self.midiUrl = [self objectOrNilForKey:kRecentPracticeModelMidiUrl fromDictionary:dict];
- self.composer = [self objectOrNilForKey:kRecentPracticeModelComposer fromDictionary:dict];
- self.sourceType = [self objectOrNilForKey:kRecentPracticeModelSourceType fromDictionary:dict];
- self.firstPassAuditTime = [self objectOrNilForKey:kRecentPracticeModelFirstPassAuditTime fromDictionary:dict];
- self.mp3Type = [self objectOrNilForKey:kRecentPracticeModelMp3Type fromDictionary:dict];
- self.hotFlag = [self objectOrNilForKey:kRecentPracticeModelHotFlag fromDictionary:dict];
- self.createTime = [self objectOrNilForKey:kRecentPracticeModelCreateTime fromDictionary:dict];
- self.playSpeed = [[self objectOrNilForKey:kRecentPracticeModelPlaySpeed fromDictionary:dict] doubleValue];
- self.audioFileUrl = [self objectOrNilForKey:kRecentPracticeModelAudioFileUrl fromDictionary:dict];
- self.hasBeat = [[self objectOrNilForKey:kRecentPracticeModelHasBeat fromDictionary:dict] doubleValue];
- self.reason = [self objectOrNilForKey:kRecentPracticeModelReason fromDictionary:dict];
- self.auditVersion = [[self objectOrNilForKey:kRecentPracticeModelAuditVersion fromDictionary:dict] doubleValue];
- self.musicSubject = [self objectOrNilForKey:kRecentPracticeModelMusicSubject fromDictionary:dict];
- self.userId = [[self objectOrNilForKey:kRecentPracticeModelUserId fromDictionary:dict] doubleValue];
- self.submitAuditTime = [self objectOrNilForKey:kRecentPracticeModelSubmitAuditTime fromDictionary:dict];
- self.musicSheetType = [self objectOrNilForKey:kRecentPracticeModelMusicSheetType fromDictionary:dict];
- }
-
- return self;
-
- }
- - (NSDictionary *)dictionaryRepresentation
- {
- NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
- [mutableDict setValue:self.metronomeUrl forKey:kRecentPracticeModelMetronomeUrl];
- [mutableDict setValue:self.musicSheetName forKey:kRecentPracticeModelMusicSheetName];
- [mutableDict setValue:[NSNumber numberWithDouble:self.albumNums] forKey:kRecentPracticeModelAlbumNums];
- [mutableDict setValue:self.internalBaseClassIdentifier forKey:kRecentPracticeModelId];
- [mutableDict setValue:self.xmlFileUrl forKey:kRecentPracticeModelXmlFileUrl];
- [mutableDict setValue:[NSNumber numberWithDouble:self.showFingering] forKey:kRecentPracticeModelShowFingering];
- [mutableDict setValue:[NSNumber numberWithDouble:self.albumSortNumber] forKey:kRecentPracticeModelAlbumSortNumber];
- [mutableDict setValue:[NSNumber numberWithDouble:self.state] forKey:kRecentPracticeModelState];
- [mutableDict setValue:self.remark forKey:kRecentPracticeModelRemark];
- [mutableDict setValue:self.titleImg forKey:kRecentPracticeModelTitleImg];
- [mutableDict setValue:[NSNumber numberWithDouble:self.notation] forKey:kRecentPracticeModelNotation];
- [mutableDict setValue:self.musicImg forKey:kRecentPracticeModelMusicImg];
- [mutableDict setValue:[NSNumber numberWithDouble:self.favoriteCount] forKey:kRecentPracticeModelFavoriteCount];
- [mutableDict setValue:self.url forKey:kRecentPracticeModelUrl];
- [mutableDict setValue:[NSNumber numberWithDouble:self.musicPrice] forKey:kRecentPracticeModelMusicPrice];
- [mutableDict setValue:[NSNumber numberWithDouble:self.sortNumber] forKey:kRecentPracticeModelSortNumber];
- [mutableDict setValue:[NSNumber numberWithDouble:self.exquisiteFlag] forKey:kRecentPracticeModelExquisiteFlag];
- [mutableDict setValue:self.play forKey:kRecentPracticeModelPlay];
- [mutableDict setValue:self.addUserAvatar forKey:kRecentPracticeModelAddUserAvatar];
- [mutableDict setValue:self.audioType forKey:kRecentPracticeModelAudioType];
- [mutableDict setValue:[NSNumber numberWithDouble:self.canEvaluate] forKey:kRecentPracticeModelCanEvaluate];
- [mutableDict setValue:[NSNumber numberWithBool:self.delFlag] forKey:kRecentPracticeModelDelFlag];
- [mutableDict setValue:self.musicTagNames forKey:kRecentPracticeModelMusicTagNames];
- [mutableDict setValue:self.subjectNames forKey:kRecentPracticeModelSubjectNames];
- [mutableDict setValue:self.chargeType forKey:kRecentPracticeModelChargeType];
- [mutableDict setValue:self.updateTime forKey:kRecentPracticeModelUpdateTime];
- [mutableDict setValue:[NSNumber numberWithDouble:self.updateBy] forKey:kRecentPracticeModelUpdateBy];
- [mutableDict setValue:self.musicTag forKey:kRecentPracticeModelMusicTag];
- [mutableDict setValue:self.extConfigJson forKey:kRecentPracticeModelExtConfigJson];
- [mutableDict setValue:self.addName forKey:kRecentPracticeModelAddName];
- [mutableDict setValue:self.paymentType forKey:kRecentPracticeModelPaymentType];
- [mutableDict setValue:self.accompanimentType forKey:kRecentPracticeModelAccompanimentType];
- [mutableDict setValue:[NSNumber numberWithDouble:self.favorite] forKey:kRecentPracticeModelFavorite];
- [mutableDict setValue:self.auditStatus forKey:kRecentPracticeModelAuditStatus];
- [mutableDict setValue:[NSNumber numberWithDouble:self.createBy] forKey:kRecentPracticeModelCreateBy];
- [mutableDict setValue:[NSNumber numberWithDouble:self.topFlag] forKey:kRecentPracticeModelTopFlag];
- [mutableDict setValue:self.midiUrl forKey:kRecentPracticeModelMidiUrl];
- [mutableDict setValue:self.composer forKey:kRecentPracticeModelComposer];
- [mutableDict setValue:self.sourceType forKey:kRecentPracticeModelSourceType];
- [mutableDict setValue:self.firstPassAuditTime forKey:kRecentPracticeModelFirstPassAuditTime];
- [mutableDict setValue:self.mp3Type forKey:kRecentPracticeModelMp3Type];
- [mutableDict setValue:self.hotFlag forKey:kRecentPracticeModelHotFlag];
- [mutableDict setValue:self.createTime forKey:kRecentPracticeModelCreateTime];
- [mutableDict setValue:[NSNumber numberWithDouble:self.playSpeed] forKey:kRecentPracticeModelPlaySpeed];
- [mutableDict setValue:self.audioFileUrl forKey:kRecentPracticeModelAudioFileUrl];
- [mutableDict setValue:[NSNumber numberWithDouble:self.hasBeat] forKey:kRecentPracticeModelHasBeat];
- [mutableDict setValue:self.reason forKey:kRecentPracticeModelReason];
- [mutableDict setValue:[NSNumber numberWithDouble:self.auditVersion] forKey:kRecentPracticeModelAuditVersion];
- [mutableDict setValue:self.musicSubject forKey:kRecentPracticeModelMusicSubject];
- [mutableDict setValue:[NSNumber numberWithDouble:self.userId] forKey:kRecentPracticeModelUserId];
- [mutableDict setValue:self.submitAuditTime forKey:kRecentPracticeModelSubmitAuditTime];
- [mutableDict setValue:self.musicSheetType forKey:kRecentPracticeModelMusicSheetType];
- 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:kRecentPracticeModelMetronomeUrl];
- self.musicSheetName = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicSheetName];
- self.albumNums = [aDecoder decodeDoubleForKey:kRecentPracticeModelAlbumNums];
- self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kRecentPracticeModelId];
- self.xmlFileUrl = [aDecoder decodeObjectForKey:kRecentPracticeModelXmlFileUrl];
- self.showFingering = [aDecoder decodeDoubleForKey:kRecentPracticeModelShowFingering];
- self.albumSortNumber = [aDecoder decodeDoubleForKey:kRecentPracticeModelAlbumSortNumber];
- self.state = [aDecoder decodeDoubleForKey:kRecentPracticeModelState];
- self.remark = [aDecoder decodeObjectForKey:kRecentPracticeModelRemark];
- self.titleImg = [aDecoder decodeObjectForKey:kRecentPracticeModelTitleImg];
- self.notation = [aDecoder decodeDoubleForKey:kRecentPracticeModelNotation];
- self.musicImg = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicImg];
- self.favoriteCount = [aDecoder decodeDoubleForKey:kRecentPracticeModelFavoriteCount];
- self.url = [aDecoder decodeObjectForKey:kRecentPracticeModelUrl];
- self.musicPrice = [aDecoder decodeDoubleForKey:kRecentPracticeModelMusicPrice];
- self.sortNumber = [aDecoder decodeDoubleForKey:kRecentPracticeModelSortNumber];
- self.exquisiteFlag = [aDecoder decodeDoubleForKey:kRecentPracticeModelExquisiteFlag];
- self.play = [aDecoder decodeObjectForKey:kRecentPracticeModelPlay];
- self.addUserAvatar = [aDecoder decodeObjectForKey:kRecentPracticeModelAddUserAvatar];
- self.audioType = [aDecoder decodeObjectForKey:kRecentPracticeModelAudioType];
- self.canEvaluate = [aDecoder decodeDoubleForKey:kRecentPracticeModelCanEvaluate];
- self.delFlag = [aDecoder decodeBoolForKey:kRecentPracticeModelDelFlag];
- self.musicTagNames = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicTagNames];
- self.subjectNames = [aDecoder decodeObjectForKey:kRecentPracticeModelSubjectNames];
- self.chargeType = [aDecoder decodeObjectForKey:kRecentPracticeModelChargeType];
- self.updateTime = [aDecoder decodeObjectForKey:kRecentPracticeModelUpdateTime];
- self.updateBy = [aDecoder decodeDoubleForKey:kRecentPracticeModelUpdateBy];
- self.musicTag = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicTag];
- self.extConfigJson = [aDecoder decodeObjectForKey:kRecentPracticeModelExtConfigJson];
- self.addName = [aDecoder decodeObjectForKey:kRecentPracticeModelAddName];
- self.paymentType = [aDecoder decodeObjectForKey:kRecentPracticeModelPaymentType];
- self.accompanimentType = [aDecoder decodeObjectForKey:kRecentPracticeModelAccompanimentType];
- self.favorite = [aDecoder decodeDoubleForKey:kRecentPracticeModelFavorite];
- self.auditStatus = [aDecoder decodeObjectForKey:kRecentPracticeModelAuditStatus];
- self.createBy = [aDecoder decodeDoubleForKey:kRecentPracticeModelCreateBy];
- self.topFlag = [aDecoder decodeDoubleForKey:kRecentPracticeModelTopFlag];
- self.midiUrl = [aDecoder decodeObjectForKey:kRecentPracticeModelMidiUrl];
- self.composer = [aDecoder decodeObjectForKey:kRecentPracticeModelComposer];
- self.sourceType = [aDecoder decodeObjectForKey:kRecentPracticeModelSourceType];
- self.firstPassAuditTime = [aDecoder decodeObjectForKey:kRecentPracticeModelFirstPassAuditTime];
- self.mp3Type = [aDecoder decodeObjectForKey:kRecentPracticeModelMp3Type];
- self.hotFlag = [aDecoder decodeObjectForKey:kRecentPracticeModelHotFlag];
- self.createTime = [aDecoder decodeObjectForKey:kRecentPracticeModelCreateTime];
- self.playSpeed = [aDecoder decodeDoubleForKey:kRecentPracticeModelPlaySpeed];
- self.audioFileUrl = [aDecoder decodeObjectForKey:kRecentPracticeModelAudioFileUrl];
- self.hasBeat = [aDecoder decodeDoubleForKey:kRecentPracticeModelHasBeat];
- self.reason = [aDecoder decodeObjectForKey:kRecentPracticeModelReason];
- self.auditVersion = [aDecoder decodeDoubleForKey:kRecentPracticeModelAuditVersion];
- self.musicSubject = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicSubject];
- self.userId = [aDecoder decodeDoubleForKey:kRecentPracticeModelUserId];
- self.submitAuditTime = [aDecoder decodeObjectForKey:kRecentPracticeModelSubmitAuditTime];
- self.musicSheetType = [aDecoder decodeObjectForKey:kRecentPracticeModelMusicSheetType];
- return self;
- }
- - (void)encodeWithCoder:(NSCoder *)aCoder
- {
- [aCoder encodeObject:_metronomeUrl forKey:kRecentPracticeModelMetronomeUrl];
- [aCoder encodeObject:_musicSheetName forKey:kRecentPracticeModelMusicSheetName];
- [aCoder encodeDouble:_albumNums forKey:kRecentPracticeModelAlbumNums];
- [aCoder encodeObject:_internalBaseClassIdentifier forKey:kRecentPracticeModelId];
- [aCoder encodeObject:_xmlFileUrl forKey:kRecentPracticeModelXmlFileUrl];
- [aCoder encodeDouble:_showFingering forKey:kRecentPracticeModelShowFingering];
- [aCoder encodeDouble:_albumSortNumber forKey:kRecentPracticeModelAlbumSortNumber];
- [aCoder encodeDouble:_state forKey:kRecentPracticeModelState];
- [aCoder encodeObject:_remark forKey:kRecentPracticeModelRemark];
- [aCoder encodeObject:_titleImg forKey:kRecentPracticeModelTitleImg];
- [aCoder encodeDouble:_notation forKey:kRecentPracticeModelNotation];
- [aCoder encodeObject:_musicImg forKey:kRecentPracticeModelMusicImg];
- [aCoder encodeDouble:_favoriteCount forKey:kRecentPracticeModelFavoriteCount];
- [aCoder encodeObject:_url forKey:kRecentPracticeModelUrl];
- [aCoder encodeDouble:_musicPrice forKey:kRecentPracticeModelMusicPrice];
- [aCoder encodeDouble:_sortNumber forKey:kRecentPracticeModelSortNumber];
- [aCoder encodeDouble:_exquisiteFlag forKey:kRecentPracticeModelExquisiteFlag];
- [aCoder encodeObject:_play forKey:kRecentPracticeModelPlay];
- [aCoder encodeObject:_addUserAvatar forKey:kRecentPracticeModelAddUserAvatar];
- [aCoder encodeObject:_audioType forKey:kRecentPracticeModelAudioType];
- [aCoder encodeDouble:_canEvaluate forKey:kRecentPracticeModelCanEvaluate];
- [aCoder encodeBool:_delFlag forKey:kRecentPracticeModelDelFlag];
- [aCoder encodeObject:_musicTagNames forKey:kRecentPracticeModelMusicTagNames];
- [aCoder encodeObject:_subjectNames forKey:kRecentPracticeModelSubjectNames];
- [aCoder encodeObject:_chargeType forKey:kRecentPracticeModelChargeType];
- [aCoder encodeObject:_updateTime forKey:kRecentPracticeModelUpdateTime];
- [aCoder encodeDouble:_updateBy forKey:kRecentPracticeModelUpdateBy];
- [aCoder encodeObject:_musicTag forKey:kRecentPracticeModelMusicTag];
- [aCoder encodeObject:_extConfigJson forKey:kRecentPracticeModelExtConfigJson];
- [aCoder encodeObject:_addName forKey:kRecentPracticeModelAddName];
- [aCoder encodeObject:_paymentType forKey:kRecentPracticeModelPaymentType];
- [aCoder encodeObject:_accompanimentType forKey:kRecentPracticeModelAccompanimentType];
- [aCoder encodeDouble:_favorite forKey:kRecentPracticeModelFavorite];
- [aCoder encodeObject:_auditStatus forKey:kRecentPracticeModelAuditStatus];
- [aCoder encodeDouble:_createBy forKey:kRecentPracticeModelCreateBy];
- [aCoder encodeDouble:_topFlag forKey:kRecentPracticeModelTopFlag];
- [aCoder encodeObject:_midiUrl forKey:kRecentPracticeModelMidiUrl];
- [aCoder encodeObject:_composer forKey:kRecentPracticeModelComposer];
- [aCoder encodeObject:_sourceType forKey:kRecentPracticeModelSourceType];
- [aCoder encodeObject:_firstPassAuditTime forKey:kRecentPracticeModelFirstPassAuditTime];
- [aCoder encodeObject:_mp3Type forKey:kRecentPracticeModelMp3Type];
- [aCoder encodeObject:_hotFlag forKey:kRecentPracticeModelHotFlag];
- [aCoder encodeObject:_createTime forKey:kRecentPracticeModelCreateTime];
- [aCoder encodeDouble:_playSpeed forKey:kRecentPracticeModelPlaySpeed];
- [aCoder encodeObject:_audioFileUrl forKey:kRecentPracticeModelAudioFileUrl];
- [aCoder encodeDouble:_hasBeat forKey:kRecentPracticeModelHasBeat];
- [aCoder encodeObject:_reason forKey:kRecentPracticeModelReason];
- [aCoder encodeDouble:_auditVersion forKey:kRecentPracticeModelAuditVersion];
- [aCoder encodeObject:_musicSubject forKey:kRecentPracticeModelMusicSubject];
- [aCoder encodeDouble:_userId forKey:kRecentPracticeModelUserId];
- [aCoder encodeObject:_submitAuditTime forKey:kRecentPracticeModelSubmitAuditTime];
- [aCoder encodeObject:_musicSheetType forKey:kRecentPracticeModelMusicSheetType];
- }
- - (id)copyWithZone:(NSZone *)zone
- {
- RecentPracticeModel *copy = [[RecentPracticeModel alloc] init];
-
- if (copy) {
- copy.metronomeUrl = [self.metronomeUrl copyWithZone:zone];
- copy.musicSheetName = [self.musicSheetName copyWithZone:zone];
- copy.albumNums = self.albumNums;
- copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
- copy.xmlFileUrl = [self.xmlFileUrl copyWithZone:zone];
- copy.showFingering = self.showFingering;
- copy.albumSortNumber = self.albumSortNumber;
- copy.state = self.state;
- copy.remark = [self.remark copyWithZone:zone];
- copy.titleImg = [self.titleImg copyWithZone:zone];
- copy.notation = self.notation;
- copy.musicImg = [self.musicImg copyWithZone:zone];
- copy.favoriteCount = self.favoriteCount;
- copy.url = [self.url copyWithZone:zone];
- copy.musicPrice = self.musicPrice;
- copy.sortNumber = self.sortNumber;
- copy.exquisiteFlag = self.exquisiteFlag;
- 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.paymentType = [self.paymentType copyWithZone:zone];
- copy.accompanimentType = [self.accompanimentType copyWithZone:zone];
- copy.favorite = self.favorite;
- copy.auditStatus = [self.auditStatus copyWithZone:zone];
- copy.createBy = self.createBy;
- copy.topFlag = self.topFlag;
- copy.midiUrl = [self.midiUrl copyWithZone:zone];
- copy.composer = [self.composer copyWithZone:zone];
- copy.sourceType = [self.sourceType copyWithZone:zone];
- copy.firstPassAuditTime = [self.firstPassAuditTime copyWithZone:zone];
- copy.mp3Type = [self.mp3Type copyWithZone:zone];
- copy.hotFlag = [self.hotFlag copyWithZone:zone];
- copy.createTime = [self.createTime copyWithZone:zone];
- copy.playSpeed = self.playSpeed;
- copy.audioFileUrl = [self.audioFileUrl copyWithZone:zone];
- copy.hasBeat = self.hasBeat;
- 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.musicSheetType = [self.musicSheetType copyWithZone:zone];
- }
-
- return copy;
- }
- @end
|