123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- //
- // HomeMessageModel.m
- //
- // Created by Steven on 2022/4/25
- // Copyright (c) 2022 __MyCompanyName__. All rights reserved.
- //
- #import "HomeMessageModel.h"
- NSString *const kHomeMessageModelSubType = @"subType";
- NSString *const kHomeMessageModelStatus = @"status";
- NSString *const kHomeMessageModelTitle = @"title";
- NSString *const kHomeMessageModelTypeName = @"typeName";
- NSString *const kHomeMessageModelSubTypeName = @"subTypeName";
- NSString *const kHomeMessageModelOfflineTime = @"offlineTime";
- NSString *const kHomeMessageModelUpdateName = @"updateName";
- NSString *const kHomeMessageModelUpdateTime = @"updateTime";
- NSString *const kHomeMessageModelOnlineTime = @"onlineTime";
- NSString *const kHomeMessageModelMemo = @"memo";
- NSString *const kHomeMessageModelSubjectName = @"subjectName";
- NSString *const kHomeMessageModelDelFlag = @"delFlag";
- NSString *const kHomeMessageModelType = @"type";
- NSString *const kHomeMessageModelSubjectIdList = @"subjectIdList";
- NSString *const kHomeMessageModelId = @"id";
- NSString *const kHomeMessageModelHrefTarget = @"hrefTarget";
- NSString *const kHomeMessageModelCoverImage = @"coverImage";
- NSString *const kHomeMessageModelShowTime = @"showTime";
- NSString *const kHomeMessageModelCreateBy = @"createBy";
- NSString *const kHomeMessageModelUpdateBy = @"updateBy";
- NSString *const kHomeMessageModelLinkUrl = @"linkUrl";
- NSString *const kHomeMessageModelVideoCoverImage = @"videoCoverImage";
- NSString *const kHomeMessageModelCreateTime = @"createTime";
- NSString *const kHomeMessageModelOrder = @"order";
- NSString *const kHomeMessageModelAttribute1 = @"attribute1";
- NSString *const kHomeMessageModelContent = @"content";
- NSString *const kHomeMessageModelAttribute2 = @"attribute2";
- NSString *const kHomeMessageModelLinkType = @"linkType";
- @interface HomeMessageModel ()
- - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
- @end
- @implementation HomeMessageModel
- @synthesize subType = _subType;
- @synthesize status = _status;
- @synthesize title = _title;
- @synthesize typeName = _typeName;
- @synthesize subTypeName = _subTypeName;
- @synthesize offlineTime = _offlineTime;
- @synthesize updateName = _updateName;
- @synthesize updateTime = _updateTime;
- @synthesize onlineTime = _onlineTime;
- @synthesize memo = _memo;
- @synthesize subjectName = _subjectName;
- @synthesize delFlag = _delFlag;
- @synthesize type = _type;
- @synthesize subjectIdList = _subjectIdList;
- @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
- @synthesize hrefTarget = _hrefTarget;
- @synthesize coverImage = _coverImage;
- @synthesize showTime = _showTime;
- @synthesize createBy = _createBy;
- @synthesize updateBy = _updateBy;
- @synthesize linkUrl = _linkUrl;
- @synthesize videoCoverImage = _videoCoverImage;
- @synthesize createTime = _createTime;
- @synthesize order = _order;
- @synthesize attribute1 = _attribute1;
- @synthesize content = _content;
- @synthesize attribute2 = _attribute2;
- @synthesize linkType = _linkType;
- + (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.subType = [self objectOrNilForKey:kHomeMessageModelSubType fromDictionary:dict];
- self.status = [[self objectOrNilForKey:kHomeMessageModelStatus fromDictionary:dict] doubleValue];
- self.title = [self objectOrNilForKey:kHomeMessageModelTitle fromDictionary:dict];
- self.typeName = [self objectOrNilForKey:kHomeMessageModelTypeName fromDictionary:dict];
- self.subTypeName = [self objectOrNilForKey:kHomeMessageModelSubTypeName fromDictionary:dict];
- self.offlineTime = [self objectOrNilForKey:kHomeMessageModelOfflineTime fromDictionary:dict];
- self.updateName = [self objectOrNilForKey:kHomeMessageModelUpdateName fromDictionary:dict];
- self.updateTime = [self objectOrNilForKey:kHomeMessageModelUpdateTime fromDictionary:dict];
- self.onlineTime = [self objectOrNilForKey:kHomeMessageModelOnlineTime fromDictionary:dict];
- self.memo = [self objectOrNilForKey:kHomeMessageModelMemo fromDictionary:dict];
- self.subjectName = [self objectOrNilForKey:kHomeMessageModelSubjectName fromDictionary:dict];
- self.delFlag = [[self objectOrNilForKey:kHomeMessageModelDelFlag fromDictionary:dict] boolValue];
- self.type = [[self objectOrNilForKey:kHomeMessageModelType fromDictionary:dict] doubleValue];
- self.subjectIdList = [self objectOrNilForKey:kHomeMessageModelSubjectIdList fromDictionary:dict];
- self.internalBaseClassIdentifier = [self objectOrNilForKey:kHomeMessageModelId fromDictionary:dict];
- self.hrefTarget = [self objectOrNilForKey:kHomeMessageModelHrefTarget fromDictionary:dict];
- self.coverImage = [self objectOrNilForKey:kHomeMessageModelCoverImage fromDictionary:dict];
- self.showTime = [[self objectOrNilForKey:kHomeMessageModelShowTime fromDictionary:dict] doubleValue];
- self.createBy = [[self objectOrNilForKey:kHomeMessageModelCreateBy fromDictionary:dict] doubleValue];
- self.updateBy = [[self objectOrNilForKey:kHomeMessageModelUpdateBy fromDictionary:dict] doubleValue];
- self.linkUrl = [self objectOrNilForKey:kHomeMessageModelLinkUrl fromDictionary:dict];
- self.videoCoverImage = [self objectOrNilForKey:kHomeMessageModelVideoCoverImage fromDictionary:dict];
- self.createTime = [self objectOrNilForKey:kHomeMessageModelCreateTime fromDictionary:dict];
- self.order = [[self objectOrNilForKey:kHomeMessageModelOrder fromDictionary:dict] doubleValue];
- self.attribute1 = [self objectOrNilForKey:kHomeMessageModelAttribute1 fromDictionary:dict];
- self.content = [self objectOrNilForKey:kHomeMessageModelContent fromDictionary:dict];
- self.attribute2 = [self objectOrNilForKey:kHomeMessageModelAttribute2 fromDictionary:dict];
- self.linkType = [self objectOrNilForKey:kHomeMessageModelLinkType fromDictionary:dict];
- }
-
- return self;
-
- }
- - (NSDictionary *)dictionaryRepresentation
- {
- NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
- [mutableDict setValue:self.subType forKey:kHomeMessageModelSubType];
- [mutableDict setValue:[NSNumber numberWithDouble:self.status] forKey:kHomeMessageModelStatus];
- [mutableDict setValue:self.title forKey:kHomeMessageModelTitle];
- [mutableDict setValue:self.typeName forKey:kHomeMessageModelTypeName];
- [mutableDict setValue:self.subTypeName forKey:kHomeMessageModelSubTypeName];
- [mutableDict setValue:self.offlineTime forKey:kHomeMessageModelOfflineTime];
- [mutableDict setValue:self.updateName forKey:kHomeMessageModelUpdateName];
- [mutableDict setValue:self.updateTime forKey:kHomeMessageModelUpdateTime];
- [mutableDict setValue:self.onlineTime forKey:kHomeMessageModelOnlineTime];
- [mutableDict setValue:self.memo forKey:kHomeMessageModelMemo];
- [mutableDict setValue:self.subjectName forKey:kHomeMessageModelSubjectName];
- [mutableDict setValue:[NSNumber numberWithBool:self.delFlag] forKey:kHomeMessageModelDelFlag];
- [mutableDict setValue:[NSNumber numberWithDouble:self.type] forKey:kHomeMessageModelType];
- [mutableDict setValue:self.subjectIdList forKey:kHomeMessageModelSubjectIdList];
- [mutableDict setValue:self.internalBaseClassIdentifier forKey:kHomeMessageModelId];
- [mutableDict setValue:self.hrefTarget forKey:kHomeMessageModelHrefTarget];
- [mutableDict setValue:self.coverImage forKey:kHomeMessageModelCoverImage];
- [mutableDict setValue:[NSNumber numberWithDouble:self.showTime] forKey:kHomeMessageModelShowTime];
- [mutableDict setValue:[NSNumber numberWithDouble:self.createBy] forKey:kHomeMessageModelCreateBy];
- [mutableDict setValue:[NSNumber numberWithDouble:self.updateBy] forKey:kHomeMessageModelUpdateBy];
- [mutableDict setValue:self.linkUrl forKey:kHomeMessageModelLinkUrl];
- [mutableDict setValue:self.videoCoverImage forKey:kHomeMessageModelVideoCoverImage];
- [mutableDict setValue:self.createTime forKey:kHomeMessageModelCreateTime];
- [mutableDict setValue:[NSNumber numberWithDouble:self.order] forKey:kHomeMessageModelOrder];
- [mutableDict setValue:self.attribute1 forKey:kHomeMessageModelAttribute1];
- [mutableDict setValue:self.content forKey:kHomeMessageModelContent];
- [mutableDict setValue:self.attribute2 forKey:kHomeMessageModelAttribute2];
- [mutableDict setValue:self.linkType forKey:kHomeMessageModelLinkType];
- 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.subType = [aDecoder decodeObjectForKey:kHomeMessageModelSubType];
- self.status = [aDecoder decodeDoubleForKey:kHomeMessageModelStatus];
- self.title = [aDecoder decodeObjectForKey:kHomeMessageModelTitle];
- self.typeName = [aDecoder decodeObjectForKey:kHomeMessageModelTypeName];
- self.subTypeName = [aDecoder decodeObjectForKey:kHomeMessageModelSubTypeName];
- self.offlineTime = [aDecoder decodeObjectForKey:kHomeMessageModelOfflineTime];
- self.updateName = [aDecoder decodeObjectForKey:kHomeMessageModelUpdateName];
- self.updateTime = [aDecoder decodeObjectForKey:kHomeMessageModelUpdateTime];
- self.onlineTime = [aDecoder decodeObjectForKey:kHomeMessageModelOnlineTime];
- self.memo = [aDecoder decodeObjectForKey:kHomeMessageModelMemo];
- self.subjectName = [aDecoder decodeObjectForKey:kHomeMessageModelSubjectName];
- self.delFlag = [aDecoder decodeBoolForKey:kHomeMessageModelDelFlag];
- self.type = [aDecoder decodeDoubleForKey:kHomeMessageModelType];
- self.subjectIdList = [aDecoder decodeObjectForKey:kHomeMessageModelSubjectIdList];
- self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kHomeMessageModelId];
- self.hrefTarget = [aDecoder decodeObjectForKey:kHomeMessageModelHrefTarget];
- self.coverImage = [aDecoder decodeObjectForKey:kHomeMessageModelCoverImage];
- self.showTime = [aDecoder decodeDoubleForKey:kHomeMessageModelShowTime];
- self.createBy = [aDecoder decodeDoubleForKey:kHomeMessageModelCreateBy];
- self.updateBy = [aDecoder decodeDoubleForKey:kHomeMessageModelUpdateBy];
- self.linkUrl = [aDecoder decodeObjectForKey:kHomeMessageModelLinkUrl];
- self.videoCoverImage = [aDecoder decodeObjectForKey:kHomeMessageModelVideoCoverImage];
- self.createTime = [aDecoder decodeObjectForKey:kHomeMessageModelCreateTime];
- self.order = [aDecoder decodeDoubleForKey:kHomeMessageModelOrder];
- self.attribute1 = [aDecoder decodeObjectForKey:kHomeMessageModelAttribute1];
- self.content = [aDecoder decodeObjectForKey:kHomeMessageModelContent];
- self.attribute2 = [aDecoder decodeObjectForKey:kHomeMessageModelAttribute2];
- self.linkType = [aDecoder decodeObjectForKey:kHomeMessageModelLinkType];
- return self;
- }
- - (void)encodeWithCoder:(NSCoder *)aCoder
- {
- [aCoder encodeObject:_subType forKey:kHomeMessageModelSubType];
- [aCoder encodeDouble:_status forKey:kHomeMessageModelStatus];
- [aCoder encodeObject:_title forKey:kHomeMessageModelTitle];
- [aCoder encodeObject:_typeName forKey:kHomeMessageModelTypeName];
- [aCoder encodeObject:_subTypeName forKey:kHomeMessageModelSubTypeName];
- [aCoder encodeObject:_offlineTime forKey:kHomeMessageModelOfflineTime];
- [aCoder encodeObject:_updateName forKey:kHomeMessageModelUpdateName];
- [aCoder encodeObject:_updateTime forKey:kHomeMessageModelUpdateTime];
- [aCoder encodeObject:_onlineTime forKey:kHomeMessageModelOnlineTime];
- [aCoder encodeObject:_memo forKey:kHomeMessageModelMemo];
- [aCoder encodeObject:_subjectName forKey:kHomeMessageModelSubjectName];
- [aCoder encodeBool:_delFlag forKey:kHomeMessageModelDelFlag];
- [aCoder encodeDouble:_type forKey:kHomeMessageModelType];
- [aCoder encodeObject:_subjectIdList forKey:kHomeMessageModelSubjectIdList];
- [aCoder encodeObject:_internalBaseClassIdentifier forKey:kHomeMessageModelId];
- [aCoder encodeObject:_hrefTarget forKey:kHomeMessageModelHrefTarget];
- [aCoder encodeObject:_coverImage forKey:kHomeMessageModelCoverImage];
- [aCoder encodeDouble:_showTime forKey:kHomeMessageModelShowTime];
- [aCoder encodeDouble:_createBy forKey:kHomeMessageModelCreateBy];
- [aCoder encodeDouble:_updateBy forKey:kHomeMessageModelUpdateBy];
- [aCoder encodeObject:_linkUrl forKey:kHomeMessageModelLinkUrl];
- [aCoder encodeObject:_videoCoverImage forKey:kHomeMessageModelVideoCoverImage];
- [aCoder encodeObject:_createTime forKey:kHomeMessageModelCreateTime];
- [aCoder encodeDouble:_order forKey:kHomeMessageModelOrder];
- [aCoder encodeObject:_attribute1 forKey:kHomeMessageModelAttribute1];
- [aCoder encodeObject:_content forKey:kHomeMessageModelContent];
- [aCoder encodeObject:_attribute2 forKey:kHomeMessageModelAttribute2];
- [aCoder encodeObject:_linkType forKey:kHomeMessageModelLinkType];
- }
- - (id)copyWithZone:(NSZone *)zone
- {
- HomeMessageModel *copy = [[HomeMessageModel alloc] init];
-
- if (copy) {
- copy.subType = [self.subType copyWithZone:zone];
- copy.status = self.status;
- copy.title = [self.title copyWithZone:zone];
- copy.typeName = [self.typeName copyWithZone:zone];
- copy.subTypeName = [self.subTypeName copyWithZone:zone];
- copy.offlineTime = [self.offlineTime copyWithZone:zone];
- copy.updateName = [self.updateName copyWithZone:zone];
- copy.updateTime = [self.updateTime copyWithZone:zone];
- copy.onlineTime = [self.onlineTime copyWithZone:zone];
- copy.memo = [self.memo copyWithZone:zone];
- copy.subjectName = [self.subjectName copyWithZone:zone];
- copy.delFlag = self.delFlag;
- copy.type = self.type;
- copy.subjectIdList = [self.subjectIdList copyWithZone:zone];
- copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
- copy.hrefTarget = [self.hrefTarget copyWithZone:zone];
- copy.coverImage = [self.coverImage copyWithZone:zone];
- copy.showTime = self.showTime;
- copy.createBy = self.createBy;
- copy.updateBy = self.updateBy;
- copy.linkUrl = [self.linkUrl copyWithZone:zone];
- copy.videoCoverImage = [self.videoCoverImage copyWithZone:zone];
- copy.createTime = [self.createTime copyWithZone:zone];
- copy.order = self.order;
- copy.attribute1 = [self.attribute1 copyWithZone:zone];
- copy.content = [self.content copyWithZone:zone];
- copy.attribute2 = [self.attribute2 copyWithZone:zone];
- copy.linkType = [self.linkType copyWithZone:zone];
- }
-
- return copy;
- }
- @end
|