| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- //
- // VideoCourseModel.m
- //
- // Created by Steven on 2022/4/2
- // Copyright (c) 2022 __MyCompanyName__. All rights reserved.
- //
- #import "VideoCourseModel.h"
- NSString *const kVideoCourseModelId = @"id";
- NSString *const kVideoCourseModelLessonCoverUrl = @"lessonCoverUrl";
- NSString *const kVideoCourseModelLessonCount = @"lessonCount";
- NSString *const kVideoCourseModelLessonDesc = @"lessonDesc";
- NSString *const kVideoCourseModelLessonPrice = @"lessonPrice";
- NSString *const kVideoCourseModelCountStudent = @"countStudent";
- NSString *const kVideoCourseModelLessonName = @"lessonName";
- NSString *const kVideoCourseModelAvatar = @"avatar";
- NSString *const kVideoCourseModelLessonSubject = @"lessonSubject";
- NSString *const kVideoCourseModelTeacherId = @"teacherId";
- NSString *const kVideoCourseModelHotFlag = @"hotFlag";
- NSString *const kVideoCourseModelUsername = @"username";
- NSString *const kVideoCourseModelCreateTime = @"createTime";
- NSString *const kVideoCourseModelAuditStatus = @"auditStatus";
- NSString *const kVideoCourseModelSortNumber = @"sortNumber";
- NSString *const kVideoCourseModelLessonTag = @"lessonTag";
- NSString *const kVideoCourseModelTopFlag = @"topFlag";
- NSString *const kVideoCourseModelUpdateTime = @"updateTime";
- NSString *const kVideoCourseModelLessonSubjectName = @"lessonSubjectName";
- NSString *const kVideoCourseModelPayType = @"payType";
- @interface VideoCourseModel ()
- - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
- @end
- @implementation VideoCourseModel
- @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
- @synthesize lessonCoverUrl = _lessonCoverUrl;
- @synthesize lessonCount = _lessonCount;
- @synthesize lessonDesc = _lessonDesc;
- @synthesize lessonPrice = _lessonPrice;
- @synthesize countStudent = _countStudent;
- @synthesize lessonName = _lessonName;
- @synthesize avatar = _avatar;
- @synthesize lessonSubject = _lessonSubject;
- @synthesize teacherId = _teacherId;
- @synthesize hotFlag = _hotFlag;
- @synthesize username = _username;
- @synthesize createTime = _createTime;
- @synthesize auditStatus = _auditStatus;
- @synthesize sortNumber = _sortNumber;
- @synthesize lessonTag = _lessonTag;
- @synthesize topFlag = _topFlag;
- @synthesize updateTime = _updateTime;
- @synthesize lessonSubjectName = _lessonSubjectName;
- @synthesize payType = _payType;
- + (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:kVideoCourseModelId fromDictionary:dict];
- self.lessonCoverUrl = [self objectOrNilForKey:kVideoCourseModelLessonCoverUrl fromDictionary:dict];
- self.lessonCount = [[self objectOrNilForKey:kVideoCourseModelLessonCount fromDictionary:dict] doubleValue];
- self.lessonDesc = [self objectOrNilForKey:kVideoCourseModelLessonDesc fromDictionary:dict];
- self.lessonPrice = [[self objectOrNilForKey:kVideoCourseModelLessonPrice fromDictionary:dict] doubleValue];
- self.countStudent = [[self objectOrNilForKey:kVideoCourseModelCountStudent fromDictionary:dict] doubleValue];
- self.lessonName = [self objectOrNilForKey:kVideoCourseModelLessonName fromDictionary:dict];
- self.avatar = [self objectOrNilForKey:kVideoCourseModelAvatar fromDictionary:dict];
- self.lessonSubject = [self objectOrNilForKey:kVideoCourseModelLessonSubject fromDictionary:dict];
- self.teacherId = [[self objectOrNilForKey:kVideoCourseModelTeacherId fromDictionary:dict] doubleValue];
- self.hotFlag = [[self objectOrNilForKey:kVideoCourseModelHotFlag fromDictionary:dict] doubleValue];
- self.username = [self objectOrNilForKey:kVideoCourseModelUsername fromDictionary:dict];
- self.createTime = [self objectOrNilForKey:kVideoCourseModelCreateTime fromDictionary:dict];
- self.auditStatus = [[self objectOrNilForKey:kVideoCourseModelAuditStatus fromDictionary:dict] doubleValue];
- self.sortNumber = [[self objectOrNilForKey:kVideoCourseModelSortNumber fromDictionary:dict] doubleValue];
- self.lessonTag = [self objectOrNilForKey:kVideoCourseModelLessonTag fromDictionary:dict];
- self.topFlag = [[self objectOrNilForKey:kVideoCourseModelTopFlag fromDictionary:dict] doubleValue];
- self.updateTime = [self objectOrNilForKey:kVideoCourseModelUpdateTime fromDictionary:dict];
- self.lessonSubjectName = [self objectOrNilForKey:kVideoCourseModelLessonSubjectName fromDictionary:dict];
- self.payType = [self objectOrNilForKey:kVideoCourseModelPayType fromDictionary:dict];
- }
-
- return self;
-
- }
- - (NSDictionary *)dictionaryRepresentation
- {
- NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
- [mutableDict setValue:self.internalBaseClassIdentifier forKey:kVideoCourseModelId];
- [mutableDict setValue:self.lessonCoverUrl forKey:kVideoCourseModelLessonCoverUrl];
- [mutableDict setValue:[NSNumber numberWithDouble:self.lessonCount] forKey:kVideoCourseModelLessonCount];
- [mutableDict setValue:self.lessonDesc forKey:kVideoCourseModelLessonDesc];
- [mutableDict setValue:[NSNumber numberWithDouble:self.lessonPrice] forKey:kVideoCourseModelLessonPrice];
- [mutableDict setValue:[NSNumber numberWithDouble:self.countStudent] forKey:kVideoCourseModelCountStudent];
- [mutableDict setValue:self.lessonName forKey:kVideoCourseModelLessonName];
- [mutableDict setValue:self.avatar forKey:kVideoCourseModelAvatar];
- [mutableDict setValue:self.lessonSubject forKey:kVideoCourseModelLessonSubject];
- [mutableDict setValue:[NSNumber numberWithDouble:self.teacherId] forKey:kVideoCourseModelTeacherId];
- [mutableDict setValue:[NSNumber numberWithDouble:self.hotFlag] forKey:kVideoCourseModelHotFlag];
- [mutableDict setValue:self.username forKey:kVideoCourseModelUsername];
- [mutableDict setValue:self.createTime forKey:kVideoCourseModelCreateTime];
- [mutableDict setValue:[NSNumber numberWithDouble:self.auditStatus] forKey:kVideoCourseModelAuditStatus];
- [mutableDict setValue:[NSNumber numberWithDouble:self.sortNumber] forKey:kVideoCourseModelSortNumber];
- [mutableDict setValue:self.lessonTag forKey:kVideoCourseModelLessonTag];
- [mutableDict setValue:[NSNumber numberWithDouble:self.topFlag] forKey:kVideoCourseModelTopFlag];
- [mutableDict setValue:self.updateTime forKey:kVideoCourseModelUpdateTime];
- [mutableDict setValue:self.lessonSubjectName forKey:kVideoCourseModelLessonSubjectName];
- [mutableDict setValue:self.payType forKey:kVideoCourseModelPayType];
- 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:kVideoCourseModelId];
- self.lessonCoverUrl = [aDecoder decodeObjectForKey:kVideoCourseModelLessonCoverUrl];
- self.lessonCount = [aDecoder decodeDoubleForKey:kVideoCourseModelLessonCount];
- self.lessonDesc = [aDecoder decodeObjectForKey:kVideoCourseModelLessonDesc];
- self.lessonPrice = [aDecoder decodeDoubleForKey:kVideoCourseModelLessonPrice];
- self.countStudent = [aDecoder decodeDoubleForKey:kVideoCourseModelCountStudent];
- self.lessonName = [aDecoder decodeObjectForKey:kVideoCourseModelLessonName];
- self.avatar = [aDecoder decodeObjectForKey:kVideoCourseModelAvatar];
- self.lessonSubject = [aDecoder decodeObjectForKey:kVideoCourseModelLessonSubject];
- self.teacherId = [aDecoder decodeDoubleForKey:kVideoCourseModelTeacherId];
- self.hotFlag = [aDecoder decodeDoubleForKey:kVideoCourseModelHotFlag];
- self.username = [aDecoder decodeObjectForKey:kVideoCourseModelUsername];
- self.createTime = [aDecoder decodeObjectForKey:kVideoCourseModelCreateTime];
- self.auditStatus = [aDecoder decodeDoubleForKey:kVideoCourseModelAuditStatus];
- self.sortNumber = [aDecoder decodeDoubleForKey:kVideoCourseModelSortNumber];
- self.lessonTag = [aDecoder decodeObjectForKey:kVideoCourseModelLessonTag];
- self.topFlag = [aDecoder decodeDoubleForKey:kVideoCourseModelTopFlag];
- self.updateTime = [aDecoder decodeObjectForKey:kVideoCourseModelUpdateTime];
- self.lessonSubjectName = [aDecoder decodeObjectForKey:kVideoCourseModelLessonSubjectName];
- self.payType = [aDecoder decodeObjectForKey:kVideoCourseModelPayType];
-
- return self;
- }
- - (void)encodeWithCoder:(NSCoder *)aCoder
- {
- [aCoder encodeObject:_internalBaseClassIdentifier forKey:kVideoCourseModelId];
- [aCoder encodeObject:_lessonCoverUrl forKey:kVideoCourseModelLessonCoverUrl];
- [aCoder encodeDouble:_lessonCount forKey:kVideoCourseModelLessonCount];
- [aCoder encodeObject:_lessonDesc forKey:kVideoCourseModelLessonDesc];
- [aCoder encodeDouble:_lessonPrice forKey:kVideoCourseModelLessonPrice];
- [aCoder encodeDouble:_countStudent forKey:kVideoCourseModelCountStudent];
- [aCoder encodeObject:_lessonName forKey:kVideoCourseModelLessonName];
- [aCoder encodeObject:_avatar forKey:kVideoCourseModelAvatar];
- [aCoder encodeObject:_lessonSubject forKey:kVideoCourseModelLessonSubject];
- [aCoder encodeDouble:_teacherId forKey:kVideoCourseModelTeacherId];
- [aCoder encodeDouble:_hotFlag forKey:kVideoCourseModelHotFlag];
- [aCoder encodeObject:_username forKey:kVideoCourseModelUsername];
- [aCoder encodeObject:_createTime forKey:kVideoCourseModelCreateTime];
- [aCoder encodeDouble:_auditStatus forKey:kVideoCourseModelAuditStatus];
- [aCoder encodeDouble:_sortNumber forKey:kVideoCourseModelSortNumber];
- [aCoder encodeObject:_lessonTag forKey:kVideoCourseModelLessonTag];
- [aCoder encodeDouble:_topFlag forKey:kVideoCourseModelTopFlag];
- [aCoder encodeObject:_updateTime forKey:kVideoCourseModelUpdateTime];
- [aCoder encodeObject:_lessonSubjectName forKey:kVideoCourseModelLessonSubjectName];
- [aCoder encodeObject:_payType forKey:kVideoCourseModelPayType];
- }
- - (id)copyWithZone:(NSZone *)zone
- {
- VideoCourseModel *copy = [[VideoCourseModel alloc] init];
-
- if (copy) {
- copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
- copy.lessonCoverUrl = [self.lessonCoverUrl copyWithZone:zone];
- copy.lessonCount = self.lessonCount;
- copy.lessonDesc = [self.lessonDesc copyWithZone:zone];
- copy.lessonPrice = self.lessonPrice;
- copy.countStudent = self.countStudent;
- copy.lessonName = [self.lessonName copyWithZone:zone];
- copy.avatar = [self.avatar copyWithZone:zone];
- copy.lessonSubject = [self.lessonSubject copyWithZone:zone];
- copy.teacherId = self.teacherId;
- copy.hotFlag = self.hotFlag;
- copy.username = [self.username copyWithZone:zone];
- copy.createTime = [self.createTime copyWithZone:zone];
- copy.auditStatus = self.auditStatus;
- copy.sortNumber = self.sortNumber;
- copy.lessonTag = [self.lessonTag copyWithZone:zone];
- copy.topFlag = self.topFlag;
- copy.updateTime = [self.updateTime copyWithZone:zone];
- copy.lessonSubjectName = [self.lessonSubjectName copyWithZone:zone];
- copy.payType = [self.payType copyWithZone:zone];
- }
-
- return copy;
- }
- @end
|