|
@@ -0,0 +1,449 @@
|
|
|
|
+//
|
|
|
|
+// HomeMusicModel.m
|
|
|
|
+//
|
|
|
|
+// Created by Steven on 2022/10/19
|
|
|
|
+// Copyright (c) 2022 __MyCompanyName__. All rights reserved.
|
|
|
|
+//
|
|
|
|
+
|
|
|
|
+#import "HomeMusicModel.h"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+NSString *const kHomeMusicModelMetronomeUrl = @"metronomeUrl";
|
|
|
|
+NSString *const kHomeMusicModelMusicSheetName = @"musicSheetName";
|
|
|
|
+NSString *const kHomeMusicModelAlbumNums = @"albumNums";
|
|
|
|
+NSString *const kHomeMusicModelId = @"id";
|
|
|
|
+NSString *const kHomeMusicModelXmlFileUrl = @"xmlFileUrl";
|
|
|
|
+NSString *const kHomeMusicModelShowFingering = @"showFingering";
|
|
|
|
+NSString *const kHomeMusicModelAlbumSortNumber = @"albumSortNumber";
|
|
|
|
+NSString *const kHomeMusicModelState = @"state";
|
|
|
|
+NSString *const kHomeMusicModelRemark = @"remark";
|
|
|
|
+NSString *const kHomeMusicModelTitleImg = @"titleImg";
|
|
|
|
+NSString *const kHomeMusicModelNotation = @"notation";
|
|
|
|
+NSString *const kHomeMusicModelMusicImg = @"musicImg";
|
|
|
|
+NSString *const kHomeMusicModelFavoriteCount = @"favoriteCount";
|
|
|
|
+NSString *const kHomeMusicModelUrl = @"url";
|
|
|
|
+NSString *const kHomeMusicModelMusicPrice = @"musicPrice";
|
|
|
|
+NSString *const kHomeMusicModelSortNumber = @"sortNumber";
|
|
|
|
+NSString *const kHomeMusicModelExquisiteFlag = @"exquisiteFlag";
|
|
|
|
+NSString *const kHomeMusicModelPlay = @"play";
|
|
|
|
+NSString *const kHomeMusicModelAddUserAvatar = @"addUserAvatar";
|
|
|
|
+NSString *const kHomeMusicModelAudioType = @"audioType";
|
|
|
|
+NSString *const kHomeMusicModelCanEvaluate = @"canEvaluate";
|
|
|
|
+NSString *const kHomeMusicModelDelFlag = @"delFlag";
|
|
|
|
+NSString *const kHomeMusicModelMusicTagNames = @"musicTagNames";
|
|
|
|
+NSString *const kHomeMusicModelSubjectNames = @"subjectNames";
|
|
|
|
+NSString *const kHomeMusicModelChargeType = @"chargeType";
|
|
|
|
+NSString *const kHomeMusicModelUpdateTime = @"updateTime";
|
|
|
|
+NSString *const kHomeMusicModelUpdateBy = @"updateBy";
|
|
|
|
+NSString *const kHomeMusicModelMusicTag = @"musicTag";
|
|
|
|
+NSString *const kHomeMusicModelExtConfigJson = @"extConfigJson";
|
|
|
|
+NSString *const kHomeMusicModelAddName = @"addName";
|
|
|
|
+NSString *const kHomeMusicModelPaymentType = @"paymentType";
|
|
|
|
+NSString *const kHomeMusicModelFavorite = @"favorite";
|
|
|
|
+NSString *const kHomeMusicModelAuditStatus = @"auditStatus";
|
|
|
|
+NSString *const kHomeMusicModelCreateBy = @"createBy";
|
|
|
|
+NSString *const kHomeMusicModelAccompanimentType = @"accompanimentType";
|
|
|
|
+NSString *const kHomeMusicModelTopFlag = @"topFlag";
|
|
|
|
+NSString *const kHomeMusicModelMidiUrl = @"midiUrl";
|
|
|
|
+NSString *const kHomeMusicModelComposer = @"composer";
|
|
|
|
+NSString *const kHomeMusicModelSourceType = @"sourceType";
|
|
|
|
+NSString *const kHomeMusicModelFirstPassAuditTime = @"firstPassAuditTime";
|
|
|
|
+NSString *const kHomeMusicModelMp3Type = @"mp3Type";
|
|
|
|
+NSString *const kHomeMusicModelHotFlag = @"hotFlag";
|
|
|
|
+NSString *const kHomeMusicModelCreateTime = @"createTime";
|
|
|
|
+NSString *const kHomeMusicModelPlaySpeed = @"playSpeed";
|
|
|
|
+NSString *const kHomeMusicModelHasBeat = @"hasBeat";
|
|
|
|
+NSString *const kHomeMusicModelAudioFileUrl = @"audioFileUrl";
|
|
|
|
+NSString *const kHomeMusicModelReason = @"reason";
|
|
|
|
+NSString *const kHomeMusicModelAuditVersion = @"auditVersion";
|
|
|
|
+NSString *const kHomeMusicModelMusicSubject = @"musicSubject";
|
|
|
|
+NSString *const kHomeMusicModelUserId = @"userId";
|
|
|
|
+NSString *const kHomeMusicModelSubmitAuditTime = @"submitAuditTime";
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@interface HomeMusicModel ()
|
|
|
|
+
|
|
|
|
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
|
|
|
|
+
|
|
|
|
+@end
|
|
|
|
+
|
|
|
|
+@implementation HomeMusicModel
|
|
|
|
+
|
|
|
|
+@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 favorite = _favorite;
|
|
|
|
+@synthesize auditStatus = _auditStatus;
|
|
|
|
+@synthesize createBy = _createBy;
|
|
|
|
+@synthesize accompanimentType = _accompanimentType;
|
|
|
|
+@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 hasBeat = _hasBeat;
|
|
|
|
+@synthesize audioFileUrl = _audioFileUrl;
|
|
|
|
+@synthesize reason = _reason;
|
|
|
|
+@synthesize auditVersion = _auditVersion;
|
|
|
|
+@synthesize musicSubject = _musicSubject;
|
|
|
|
+@synthesize userId = _userId;
|
|
|
|
+@synthesize submitAuditTime = _submitAuditTime;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
++ (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:kHomeMusicModelMetronomeUrl fromDictionary:dict];
|
|
|
|
+ self.musicSheetName = [self objectOrNilForKey:kHomeMusicModelMusicSheetName fromDictionary:dict];
|
|
|
|
+ self.albumNums = [[self objectOrNilForKey:kHomeMusicModelAlbumNums fromDictionary:dict] doubleValue];
|
|
|
|
+ self.internalBaseClassIdentifier = [[self objectOrNilForKey:kHomeMusicModelId fromDictionary:dict] doubleValue];
|
|
|
|
+ self.xmlFileUrl = [self objectOrNilForKey:kHomeMusicModelXmlFileUrl fromDictionary:dict];
|
|
|
|
+ self.showFingering = [[self objectOrNilForKey:kHomeMusicModelShowFingering fromDictionary:dict] doubleValue];
|
|
|
|
+ self.albumSortNumber = [[self objectOrNilForKey:kHomeMusicModelAlbumSortNumber fromDictionary:dict] doubleValue];
|
|
|
|
+ self.state = [[self objectOrNilForKey:kHomeMusicModelState fromDictionary:dict] doubleValue];
|
|
|
|
+ self.remark = [self objectOrNilForKey:kHomeMusicModelRemark fromDictionary:dict];
|
|
|
|
+ self.titleImg = [self objectOrNilForKey:kHomeMusicModelTitleImg fromDictionary:dict];
|
|
|
|
+ self.notation = [[self objectOrNilForKey:kHomeMusicModelNotation fromDictionary:dict] doubleValue];
|
|
|
|
+ self.musicImg = [self objectOrNilForKey:kHomeMusicModelMusicImg fromDictionary:dict];
|
|
|
|
+ self.favoriteCount = [[self objectOrNilForKey:kHomeMusicModelFavoriteCount fromDictionary:dict] doubleValue];
|
|
|
|
+ self.url = [self objectOrNilForKey:kHomeMusicModelUrl fromDictionary:dict];
|
|
|
|
+ self.musicPrice = [[self objectOrNilForKey:kHomeMusicModelMusicPrice fromDictionary:dict] doubleValue];
|
|
|
|
+ self.sortNumber = [[self objectOrNilForKey:kHomeMusicModelSortNumber fromDictionary:dict] doubleValue];
|
|
|
|
+ self.exquisiteFlag = [[self objectOrNilForKey:kHomeMusicModelExquisiteFlag fromDictionary:dict] doubleValue];
|
|
|
|
+ self.play = [self objectOrNilForKey:kHomeMusicModelPlay fromDictionary:dict];
|
|
|
|
+ self.addUserAvatar = [self objectOrNilForKey:kHomeMusicModelAddUserAvatar fromDictionary:dict];
|
|
|
|
+ self.audioType = [self objectOrNilForKey:kHomeMusicModelAudioType fromDictionary:dict];
|
|
|
|
+ self.canEvaluate = [[self objectOrNilForKey:kHomeMusicModelCanEvaluate fromDictionary:dict] doubleValue];
|
|
|
|
+ self.delFlag = [[self objectOrNilForKey:kHomeMusicModelDelFlag fromDictionary:dict] boolValue];
|
|
|
|
+ self.musicTagNames = [self objectOrNilForKey:kHomeMusicModelMusicTagNames fromDictionary:dict];
|
|
|
|
+ self.subjectNames = [self objectOrNilForKey:kHomeMusicModelSubjectNames fromDictionary:dict];
|
|
|
|
+ self.chargeType = [self objectOrNilForKey:kHomeMusicModelChargeType fromDictionary:dict];
|
|
|
|
+ self.updateTime = [self objectOrNilForKey:kHomeMusicModelUpdateTime fromDictionary:dict];
|
|
|
|
+ self.updateBy = [[self objectOrNilForKey:kHomeMusicModelUpdateBy fromDictionary:dict] doubleValue];
|
|
|
|
+ self.musicTag = [self objectOrNilForKey:kHomeMusicModelMusicTag fromDictionary:dict];
|
|
|
|
+ self.extConfigJson = [self objectOrNilForKey:kHomeMusicModelExtConfigJson fromDictionary:dict];
|
|
|
|
+ self.addName = [self objectOrNilForKey:kHomeMusicModelAddName fromDictionary:dict];
|
|
|
|
+ self.paymentType = [self objectOrNilForKey:kHomeMusicModelPaymentType fromDictionary:dict];
|
|
|
|
+ self.favorite = [[self objectOrNilForKey:kHomeMusicModelFavorite fromDictionary:dict] doubleValue];
|
|
|
|
+ self.auditStatus = [self objectOrNilForKey:kHomeMusicModelAuditStatus fromDictionary:dict];
|
|
|
|
+ self.createBy = [[self objectOrNilForKey:kHomeMusicModelCreateBy fromDictionary:dict] doubleValue];
|
|
|
|
+ self.accompanimentType = [self objectOrNilForKey:kHomeMusicModelAccompanimentType fromDictionary:dict];
|
|
|
|
+ self.topFlag = [[self objectOrNilForKey:kHomeMusicModelTopFlag fromDictionary:dict] doubleValue];
|
|
|
|
+ self.midiUrl = [self objectOrNilForKey:kHomeMusicModelMidiUrl fromDictionary:dict];
|
|
|
|
+ self.composer = [self objectOrNilForKey:kHomeMusicModelComposer fromDictionary:dict];
|
|
|
|
+ self.sourceType = [self objectOrNilForKey:kHomeMusicModelSourceType fromDictionary:dict];
|
|
|
|
+ self.firstPassAuditTime = [self objectOrNilForKey:kHomeMusicModelFirstPassAuditTime fromDictionary:dict];
|
|
|
|
+ self.mp3Type = [self objectOrNilForKey:kHomeMusicModelMp3Type fromDictionary:dict];
|
|
|
|
+ self.hotFlag = [self objectOrNilForKey:kHomeMusicModelHotFlag fromDictionary:dict];
|
|
|
|
+ self.createTime = [self objectOrNilForKey:kHomeMusicModelCreateTime fromDictionary:dict];
|
|
|
|
+ self.playSpeed = [[self objectOrNilForKey:kHomeMusicModelPlaySpeed fromDictionary:dict] doubleValue];
|
|
|
|
+ self.hasBeat = [self objectOrNilForKey:kHomeMusicModelHasBeat fromDictionary:dict];
|
|
|
|
+ self.audioFileUrl = [self objectOrNilForKey:kHomeMusicModelAudioFileUrl fromDictionary:dict];
|
|
|
|
+ self.reason = [self objectOrNilForKey:kHomeMusicModelReason fromDictionary:dict];
|
|
|
|
+ self.auditVersion = [[self objectOrNilForKey:kHomeMusicModelAuditVersion fromDictionary:dict] doubleValue];
|
|
|
|
+ self.musicSubject = [self objectOrNilForKey:kHomeMusicModelMusicSubject fromDictionary:dict];
|
|
|
|
+ self.userId = [[self objectOrNilForKey:kHomeMusicModelUserId fromDictionary:dict] doubleValue];
|
|
|
|
+ self.submitAuditTime = [self objectOrNilForKey:kHomeMusicModelSubmitAuditTime fromDictionary:dict];
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return self;
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (NSDictionary *)dictionaryRepresentation
|
|
|
|
+{
|
|
|
|
+ NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
|
|
|
|
+ [mutableDict setValue:self.metronomeUrl forKey:kHomeMusicModelMetronomeUrl];
|
|
|
|
+ [mutableDict setValue:self.musicSheetName forKey:kHomeMusicModelMusicSheetName];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.albumNums] forKey:kHomeMusicModelAlbumNums];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.internalBaseClassIdentifier] forKey:kHomeMusicModelId];
|
|
|
|
+ [mutableDict setValue:self.xmlFileUrl forKey:kHomeMusicModelXmlFileUrl];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.showFingering] forKey:kHomeMusicModelShowFingering];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.albumSortNumber] forKey:kHomeMusicModelAlbumSortNumber];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.state] forKey:kHomeMusicModelState];
|
|
|
|
+ [mutableDict setValue:self.remark forKey:kHomeMusicModelRemark];
|
|
|
|
+ [mutableDict setValue:self.titleImg forKey:kHomeMusicModelTitleImg];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.notation] forKey:kHomeMusicModelNotation];
|
|
|
|
+ [mutableDict setValue:self.musicImg forKey:kHomeMusicModelMusicImg];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.favoriteCount] forKey:kHomeMusicModelFavoriteCount];
|
|
|
|
+ [mutableDict setValue:self.url forKey:kHomeMusicModelUrl];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.musicPrice] forKey:kHomeMusicModelMusicPrice];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.sortNumber] forKey:kHomeMusicModelSortNumber];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.exquisiteFlag] forKey:kHomeMusicModelExquisiteFlag];
|
|
|
|
+ [mutableDict setValue:self.play forKey:kHomeMusicModelPlay];
|
|
|
|
+ [mutableDict setValue:self.addUserAvatar forKey:kHomeMusicModelAddUserAvatar];
|
|
|
|
+ [mutableDict setValue:self.audioType forKey:kHomeMusicModelAudioType];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.canEvaluate] forKey:kHomeMusicModelCanEvaluate];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithBool:self.delFlag] forKey:kHomeMusicModelDelFlag];
|
|
|
|
+ [mutableDict setValue:self.musicTagNames forKey:kHomeMusicModelMusicTagNames];
|
|
|
|
+ [mutableDict setValue:self.subjectNames forKey:kHomeMusicModelSubjectNames];
|
|
|
|
+ [mutableDict setValue:self.chargeType forKey:kHomeMusicModelChargeType];
|
|
|
|
+ [mutableDict setValue:self.updateTime forKey:kHomeMusicModelUpdateTime];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.updateBy] forKey:kHomeMusicModelUpdateBy];
|
|
|
|
+ [mutableDict setValue:self.musicTag forKey:kHomeMusicModelMusicTag];
|
|
|
|
+ [mutableDict setValue:self.extConfigJson forKey:kHomeMusicModelExtConfigJson];
|
|
|
|
+ [mutableDict setValue:self.addName forKey:kHomeMusicModelAddName];
|
|
|
|
+ [mutableDict setValue:self.paymentType forKey:kHomeMusicModelPaymentType];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.favorite] forKey:kHomeMusicModelFavorite];
|
|
|
|
+ [mutableDict setValue:self.auditStatus forKey:kHomeMusicModelAuditStatus];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.createBy] forKey:kHomeMusicModelCreateBy];
|
|
|
|
+ [mutableDict setValue:self.accompanimentType forKey:kHomeMusicModelAccompanimentType];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.topFlag] forKey:kHomeMusicModelTopFlag];
|
|
|
|
+ [mutableDict setValue:self.midiUrl forKey:kHomeMusicModelMidiUrl];
|
|
|
|
+ [mutableDict setValue:self.composer forKey:kHomeMusicModelComposer];
|
|
|
|
+ [mutableDict setValue:self.sourceType forKey:kHomeMusicModelSourceType];
|
|
|
|
+ [mutableDict setValue:self.firstPassAuditTime forKey:kHomeMusicModelFirstPassAuditTime];
|
|
|
|
+ [mutableDict setValue:self.mp3Type forKey:kHomeMusicModelMp3Type];
|
|
|
|
+ [mutableDict setValue:self.hotFlag forKey:kHomeMusicModelHotFlag];
|
|
|
|
+ [mutableDict setValue:self.createTime forKey:kHomeMusicModelCreateTime];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.playSpeed] forKey:kHomeMusicModelPlaySpeed];
|
|
|
|
+ [mutableDict setValue:self.hasBeat forKey:kHomeMusicModelHasBeat];
|
|
|
|
+ [mutableDict setValue:self.audioFileUrl forKey:kHomeMusicModelAudioFileUrl];
|
|
|
|
+ [mutableDict setValue:self.reason forKey:kHomeMusicModelReason];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.auditVersion] forKey:kHomeMusicModelAuditVersion];
|
|
|
|
+ [mutableDict setValue:self.musicSubject forKey:kHomeMusicModelMusicSubject];
|
|
|
|
+ [mutableDict setValue:[NSNumber numberWithDouble:self.userId] forKey:kHomeMusicModelUserId];
|
|
|
|
+ [mutableDict setValue:self.submitAuditTime forKey:kHomeMusicModelSubmitAuditTime];
|
|
|
|
+
|
|
|
|
+ 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:kHomeMusicModelMetronomeUrl];
|
|
|
|
+ self.musicSheetName = [aDecoder decodeObjectForKey:kHomeMusicModelMusicSheetName];
|
|
|
|
+ self.albumNums = [aDecoder decodeDoubleForKey:kHomeMusicModelAlbumNums];
|
|
|
|
+ self.internalBaseClassIdentifier = [aDecoder decodeDoubleForKey:kHomeMusicModelId];
|
|
|
|
+ self.xmlFileUrl = [aDecoder decodeObjectForKey:kHomeMusicModelXmlFileUrl];
|
|
|
|
+ self.showFingering = [aDecoder decodeDoubleForKey:kHomeMusicModelShowFingering];
|
|
|
|
+ self.albumSortNumber = [aDecoder decodeDoubleForKey:kHomeMusicModelAlbumSortNumber];
|
|
|
|
+ self.state = [aDecoder decodeDoubleForKey:kHomeMusicModelState];
|
|
|
|
+ self.remark = [aDecoder decodeObjectForKey:kHomeMusicModelRemark];
|
|
|
|
+ self.titleImg = [aDecoder decodeObjectForKey:kHomeMusicModelTitleImg];
|
|
|
|
+ self.notation = [aDecoder decodeDoubleForKey:kHomeMusicModelNotation];
|
|
|
|
+ self.musicImg = [aDecoder decodeObjectForKey:kHomeMusicModelMusicImg];
|
|
|
|
+ self.favoriteCount = [aDecoder decodeDoubleForKey:kHomeMusicModelFavoriteCount];
|
|
|
|
+ self.url = [aDecoder decodeObjectForKey:kHomeMusicModelUrl];
|
|
|
|
+ self.musicPrice = [aDecoder decodeDoubleForKey:kHomeMusicModelMusicPrice];
|
|
|
|
+ self.sortNumber = [aDecoder decodeDoubleForKey:kHomeMusicModelSortNumber];
|
|
|
|
+ self.exquisiteFlag = [aDecoder decodeDoubleForKey:kHomeMusicModelExquisiteFlag];
|
|
|
|
+ self.play = [aDecoder decodeObjectForKey:kHomeMusicModelPlay];
|
|
|
|
+ self.addUserAvatar = [aDecoder decodeObjectForKey:kHomeMusicModelAddUserAvatar];
|
|
|
|
+ self.audioType = [aDecoder decodeObjectForKey:kHomeMusicModelAudioType];
|
|
|
|
+ self.canEvaluate = [aDecoder decodeDoubleForKey:kHomeMusicModelCanEvaluate];
|
|
|
|
+ self.delFlag = [aDecoder decodeBoolForKey:kHomeMusicModelDelFlag];
|
|
|
|
+ self.musicTagNames = [aDecoder decodeObjectForKey:kHomeMusicModelMusicTagNames];
|
|
|
|
+ self.subjectNames = [aDecoder decodeObjectForKey:kHomeMusicModelSubjectNames];
|
|
|
|
+ self.chargeType = [aDecoder decodeObjectForKey:kHomeMusicModelChargeType];
|
|
|
|
+ self.updateTime = [aDecoder decodeObjectForKey:kHomeMusicModelUpdateTime];
|
|
|
|
+ self.updateBy = [aDecoder decodeDoubleForKey:kHomeMusicModelUpdateBy];
|
|
|
|
+ self.musicTag = [aDecoder decodeObjectForKey:kHomeMusicModelMusicTag];
|
|
|
|
+ self.extConfigJson = [aDecoder decodeObjectForKey:kHomeMusicModelExtConfigJson];
|
|
|
|
+ self.addName = [aDecoder decodeObjectForKey:kHomeMusicModelAddName];
|
|
|
|
+ self.paymentType = [aDecoder decodeObjectForKey:kHomeMusicModelPaymentType];
|
|
|
|
+ self.favorite = [aDecoder decodeDoubleForKey:kHomeMusicModelFavorite];
|
|
|
|
+ self.auditStatus = [aDecoder decodeObjectForKey:kHomeMusicModelAuditStatus];
|
|
|
|
+ self.createBy = [aDecoder decodeDoubleForKey:kHomeMusicModelCreateBy];
|
|
|
|
+ self.accompanimentType = [aDecoder decodeObjectForKey:kHomeMusicModelAccompanimentType];
|
|
|
|
+ self.topFlag = [aDecoder decodeDoubleForKey:kHomeMusicModelTopFlag];
|
|
|
|
+ self.midiUrl = [aDecoder decodeObjectForKey:kHomeMusicModelMidiUrl];
|
|
|
|
+ self.composer = [aDecoder decodeObjectForKey:kHomeMusicModelComposer];
|
|
|
|
+ self.sourceType = [aDecoder decodeObjectForKey:kHomeMusicModelSourceType];
|
|
|
|
+ self.firstPassAuditTime = [aDecoder decodeObjectForKey:kHomeMusicModelFirstPassAuditTime];
|
|
|
|
+ self.mp3Type = [aDecoder decodeObjectForKey:kHomeMusicModelMp3Type];
|
|
|
|
+ self.hotFlag = [aDecoder decodeObjectForKey:kHomeMusicModelHotFlag];
|
|
|
|
+ self.createTime = [aDecoder decodeObjectForKey:kHomeMusicModelCreateTime];
|
|
|
|
+ self.playSpeed = [aDecoder decodeDoubleForKey:kHomeMusicModelPlaySpeed];
|
|
|
|
+ self.hasBeat = [aDecoder decodeObjectForKey:kHomeMusicModelHasBeat];
|
|
|
|
+ self.audioFileUrl = [aDecoder decodeObjectForKey:kHomeMusicModelAudioFileUrl];
|
|
|
|
+ self.reason = [aDecoder decodeObjectForKey:kHomeMusicModelReason];
|
|
|
|
+ self.auditVersion = [aDecoder decodeDoubleForKey:kHomeMusicModelAuditVersion];
|
|
|
|
+ self.musicSubject = [aDecoder decodeObjectForKey:kHomeMusicModelMusicSubject];
|
|
|
|
+ self.userId = [aDecoder decodeDoubleForKey:kHomeMusicModelUserId];
|
|
|
|
+ self.submitAuditTime = [aDecoder decodeObjectForKey:kHomeMusicModelSubmitAuditTime];
|
|
|
|
+ return self;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (void)encodeWithCoder:(NSCoder *)aCoder
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ [aCoder encodeObject:_metronomeUrl forKey:kHomeMusicModelMetronomeUrl];
|
|
|
|
+ [aCoder encodeObject:_musicSheetName forKey:kHomeMusicModelMusicSheetName];
|
|
|
|
+ [aCoder encodeDouble:_albumNums forKey:kHomeMusicModelAlbumNums];
|
|
|
|
+ [aCoder encodeDouble:_internalBaseClassIdentifier forKey:kHomeMusicModelId];
|
|
|
|
+ [aCoder encodeObject:_xmlFileUrl forKey:kHomeMusicModelXmlFileUrl];
|
|
|
|
+ [aCoder encodeDouble:_showFingering forKey:kHomeMusicModelShowFingering];
|
|
|
|
+ [aCoder encodeDouble:_albumSortNumber forKey:kHomeMusicModelAlbumSortNumber];
|
|
|
|
+ [aCoder encodeDouble:_state forKey:kHomeMusicModelState];
|
|
|
|
+ [aCoder encodeObject:_remark forKey:kHomeMusicModelRemark];
|
|
|
|
+ [aCoder encodeObject:_titleImg forKey:kHomeMusicModelTitleImg];
|
|
|
|
+ [aCoder encodeDouble:_notation forKey:kHomeMusicModelNotation];
|
|
|
|
+ [aCoder encodeObject:_musicImg forKey:kHomeMusicModelMusicImg];
|
|
|
|
+ [aCoder encodeDouble:_favoriteCount forKey:kHomeMusicModelFavoriteCount];
|
|
|
|
+ [aCoder encodeObject:_url forKey:kHomeMusicModelUrl];
|
|
|
|
+ [aCoder encodeDouble:_musicPrice forKey:kHomeMusicModelMusicPrice];
|
|
|
|
+ [aCoder encodeDouble:_sortNumber forKey:kHomeMusicModelSortNumber];
|
|
|
|
+ [aCoder encodeDouble:_exquisiteFlag forKey:kHomeMusicModelExquisiteFlag];
|
|
|
|
+ [aCoder encodeObject:_play forKey:kHomeMusicModelPlay];
|
|
|
|
+ [aCoder encodeObject:_addUserAvatar forKey:kHomeMusicModelAddUserAvatar];
|
|
|
|
+ [aCoder encodeObject:_audioType forKey:kHomeMusicModelAudioType];
|
|
|
|
+ [aCoder encodeDouble:_canEvaluate forKey:kHomeMusicModelCanEvaluate];
|
|
|
|
+ [aCoder encodeBool:_delFlag forKey:kHomeMusicModelDelFlag];
|
|
|
|
+ [aCoder encodeObject:_musicTagNames forKey:kHomeMusicModelMusicTagNames];
|
|
|
|
+ [aCoder encodeObject:_subjectNames forKey:kHomeMusicModelSubjectNames];
|
|
|
|
+ [aCoder encodeObject:_chargeType forKey:kHomeMusicModelChargeType];
|
|
|
|
+ [aCoder encodeObject:_updateTime forKey:kHomeMusicModelUpdateTime];
|
|
|
|
+ [aCoder encodeDouble:_updateBy forKey:kHomeMusicModelUpdateBy];
|
|
|
|
+ [aCoder encodeObject:_musicTag forKey:kHomeMusicModelMusicTag];
|
|
|
|
+ [aCoder encodeObject:_extConfigJson forKey:kHomeMusicModelExtConfigJson];
|
|
|
|
+ [aCoder encodeObject:_addName forKey:kHomeMusicModelAddName];
|
|
|
|
+ [aCoder encodeObject:_paymentType forKey:kHomeMusicModelPaymentType];
|
|
|
|
+ [aCoder encodeDouble:_favorite forKey:kHomeMusicModelFavorite];
|
|
|
|
+ [aCoder encodeObject:_auditStatus forKey:kHomeMusicModelAuditStatus];
|
|
|
|
+ [aCoder encodeDouble:_createBy forKey:kHomeMusicModelCreateBy];
|
|
|
|
+ [aCoder encodeObject:_accompanimentType forKey:kHomeMusicModelAccompanimentType];
|
|
|
|
+ [aCoder encodeDouble:_topFlag forKey:kHomeMusicModelTopFlag];
|
|
|
|
+ [aCoder encodeObject:_midiUrl forKey:kHomeMusicModelMidiUrl];
|
|
|
|
+ [aCoder encodeObject:_composer forKey:kHomeMusicModelComposer];
|
|
|
|
+ [aCoder encodeObject:_sourceType forKey:kHomeMusicModelSourceType];
|
|
|
|
+ [aCoder encodeObject:_firstPassAuditTime forKey:kHomeMusicModelFirstPassAuditTime];
|
|
|
|
+ [aCoder encodeObject:_mp3Type forKey:kHomeMusicModelMp3Type];
|
|
|
|
+ [aCoder encodeObject:_hotFlag forKey:kHomeMusicModelHotFlag];
|
|
|
|
+ [aCoder encodeObject:_createTime forKey:kHomeMusicModelCreateTime];
|
|
|
|
+ [aCoder encodeDouble:_playSpeed forKey:kHomeMusicModelPlaySpeed];
|
|
|
|
+ [aCoder encodeObject:_hasBeat forKey:kHomeMusicModelHasBeat];
|
|
|
|
+ [aCoder encodeObject:_audioFileUrl forKey:kHomeMusicModelAudioFileUrl];
|
|
|
|
+ [aCoder encodeObject:_reason forKey:kHomeMusicModelReason];
|
|
|
|
+ [aCoder encodeDouble:_auditVersion forKey:kHomeMusicModelAuditVersion];
|
|
|
|
+ [aCoder encodeObject:_musicSubject forKey:kHomeMusicModelMusicSubject];
|
|
|
|
+ [aCoder encodeDouble:_userId forKey:kHomeMusicModelUserId];
|
|
|
|
+ [aCoder encodeObject:_submitAuditTime forKey:kHomeMusicModelSubmitAuditTime];
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+- (id)copyWithZone:(NSZone *)zone
|
|
|
|
+{
|
|
|
|
+ HomeMusicModel *copy = [[HomeMusicModel alloc] init];
|
|
|
|
+
|
|
|
|
+ if (copy) {
|
|
|
|
+
|
|
|
|
+ copy.metronomeUrl = [self.metronomeUrl copyWithZone:zone];
|
|
|
|
+ copy.musicSheetName = [self.musicSheetName copyWithZone:zone];
|
|
|
|
+ copy.albumNums = self.albumNums;
|
|
|
|
+ copy.internalBaseClassIdentifier = self.internalBaseClassIdentifier;
|
|
|
|
+ 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.favorite = self.favorite;
|
|
|
|
+ copy.auditStatus = [self.auditStatus copyWithZone:zone];
|
|
|
|
+ copy.createBy = self.createBy;
|
|
|
|
+ copy.accompanimentType = [self.accompanimentType copyWithZone:zone];
|
|
|
|
+ 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.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];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return copy;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@end
|