|
@@ -0,0 +1,281 @@
|
|
|
+//
|
|
|
+// 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";
|
|
|
+
|
|
|
+
|
|
|
+@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;
|
|
|
+
|
|
|
+
|
|
|
++ (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];
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ 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];
|
|
|
+
|
|
|
+ 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];
|
|
|
+ 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];
|
|
|
+}
|
|
|
+
|
|
|
+- (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];
|
|
|
+ }
|
|
|
+
|
|
|
+ return copy;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+@end
|