123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- //
- // NotiferMessageModel.m
- //
- // Created by Steven on 2022/5/7
- // Copyright (c) 2022 __MyCompanyName__. All rights reserved.
- //
- #import "NotiferMessageModel.h"
- NSString *const kNotiferMessageModelId = @"id";
- NSString *const kNotiferMessageModelModifyOn = @"modifyOn";
- NSString *const kNotiferMessageModelClientId = @"clientId";
- NSString *const kNotiferMessageModelSendTime = @"sendTime";
- NSString *const kNotiferMessageModelReceiver = @"receiver";
- NSString *const kNotiferMessageModelErrorMsg = @"errorMsg";
- NSString *const kNotiferMessageModelCreateOn = @"createOn";
- NSString *const kNotiferMessageModelMemo = @"memo";
- NSString *const kNotiferMessageModelContent = @"content";
- NSString *const kNotiferMessageModelType = @"type";
- NSString *const kNotiferMessageModelTitle = @"title";
- NSString *const kNotiferMessageModelUserId = @"userId";
- NSString *const kNotiferMessageModelGroup = @"group";
- NSString *const kNotiferMessageModelReadStatus = @"readStatus";
- NSString *const kNotiferMessageModelStatus = @"status";
- @interface NotiferMessageModel ()
- - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
- @end
- @implementation NotiferMessageModel
- @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
- @synthesize modifyOn = _modifyOn;
- @synthesize clientId = _clientId;
- @synthesize sendTime = _sendTime;
- @synthesize receiver = _receiver;
- @synthesize errorMsg = _errorMsg;
- @synthesize createOn = _createOn;
- @synthesize memo = _memo;
- @synthesize content = _content;
- @synthesize type = _type;
- @synthesize title = _title;
- @synthesize userId = _userId;
- @synthesize group = _group;
- @synthesize readStatus = _readStatus;
- @synthesize status = _status;
- + (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:kNotiferMessageModelId fromDictionary:dict];
- self.modifyOn = [self objectOrNilForKey:kNotiferMessageModelModifyOn fromDictionary:dict];
- self.clientId = [self objectOrNilForKey:kNotiferMessageModelClientId fromDictionary:dict];
- self.sendTime = [self objectOrNilForKey:kNotiferMessageModelSendTime fromDictionary:dict];
- self.receiver = [self objectOrNilForKey:kNotiferMessageModelReceiver fromDictionary:dict];
- self.errorMsg = [self objectOrNilForKey:kNotiferMessageModelErrorMsg fromDictionary:dict];
- self.createOn = [self objectOrNilForKey:kNotiferMessageModelCreateOn fromDictionary:dict];
- self.memo = [self objectOrNilForKey:kNotiferMessageModelMemo fromDictionary:dict];
- self.content = [self objectOrNilForKey:kNotiferMessageModelContent fromDictionary:dict];
- self.type = [self objectOrNilForKey:kNotiferMessageModelType fromDictionary:dict];
- self.title = [self objectOrNilForKey:kNotiferMessageModelTitle fromDictionary:dict];
- self.userId = [self objectOrNilForKey:kNotiferMessageModelUserId fromDictionary:dict];
- self.group = [self objectOrNilForKey:kNotiferMessageModelGroup fromDictionary:dict];
- self.readStatus = [[self objectOrNilForKey:kNotiferMessageModelReadStatus fromDictionary:dict] doubleValue];
- self.status = [self objectOrNilForKey:kNotiferMessageModelStatus fromDictionary:dict];
- }
-
- return self;
-
- }
- - (NSDictionary *)dictionaryRepresentation
- {
- NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
- [mutableDict setValue:self.internalBaseClassIdentifier forKey:kNotiferMessageModelId];
- [mutableDict setValue:self.modifyOn forKey:kNotiferMessageModelModifyOn];
- [mutableDict setValue:self.clientId forKey:kNotiferMessageModelClientId];
- [mutableDict setValue:self.sendTime forKey:kNotiferMessageModelSendTime];
- [mutableDict setValue:self.receiver forKey:kNotiferMessageModelReceiver];
- [mutableDict setValue:self.errorMsg forKey:kNotiferMessageModelErrorMsg];
- [mutableDict setValue:self.createOn forKey:kNotiferMessageModelCreateOn];
- [mutableDict setValue:self.memo forKey:kNotiferMessageModelMemo];
- [mutableDict setValue:self.content forKey:kNotiferMessageModelContent];
- [mutableDict setValue:self.type forKey:kNotiferMessageModelType];
- [mutableDict setValue:self.title forKey:kNotiferMessageModelTitle];
- [mutableDict setValue:self.userId forKey:kNotiferMessageModelUserId];
- [mutableDict setValue:self.group forKey:kNotiferMessageModelGroup];
- [mutableDict setValue:[NSNumber numberWithDouble:self.readStatus] forKey:kNotiferMessageModelReadStatus];
- [mutableDict setValue:self.status forKey:kNotiferMessageModelStatus];
- 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:kNotiferMessageModelId];
- self.modifyOn = [aDecoder decodeObjectForKey:kNotiferMessageModelModifyOn];
- self.clientId = [aDecoder decodeObjectForKey:kNotiferMessageModelClientId];
- self.sendTime = [aDecoder decodeObjectForKey:kNotiferMessageModelSendTime];
- self.receiver = [aDecoder decodeObjectForKey:kNotiferMessageModelReceiver];
- self.errorMsg = [aDecoder decodeObjectForKey:kNotiferMessageModelErrorMsg];
- self.createOn = [aDecoder decodeObjectForKey:kNotiferMessageModelCreateOn];
- self.memo = [aDecoder decodeObjectForKey:kNotiferMessageModelMemo];
- self.content = [aDecoder decodeObjectForKey:kNotiferMessageModelContent];
- self.type = [aDecoder decodeObjectForKey:kNotiferMessageModelType];
- self.title = [aDecoder decodeObjectForKey:kNotiferMessageModelTitle];
- self.userId = [aDecoder decodeObjectForKey:kNotiferMessageModelUserId];
- self.group = [aDecoder decodeObjectForKey:kNotiferMessageModelGroup];
- self.readStatus = [aDecoder decodeDoubleForKey:kNotiferMessageModelReadStatus];
- self.status = [aDecoder decodeObjectForKey:kNotiferMessageModelStatus];
- return self;
- }
- - (void)encodeWithCoder:(NSCoder *)aCoder
- {
- [aCoder encodeObject:_internalBaseClassIdentifier forKey:kNotiferMessageModelId];
- [aCoder encodeObject:_modifyOn forKey:kNotiferMessageModelModifyOn];
- [aCoder encodeObject:_clientId forKey:kNotiferMessageModelClientId];
- [aCoder encodeObject:_sendTime forKey:kNotiferMessageModelSendTime];
- [aCoder encodeObject:_receiver forKey:kNotiferMessageModelReceiver];
- [aCoder encodeObject:_errorMsg forKey:kNotiferMessageModelErrorMsg];
- [aCoder encodeObject:_createOn forKey:kNotiferMessageModelCreateOn];
- [aCoder encodeObject:_memo forKey:kNotiferMessageModelMemo];
- [aCoder encodeObject:_content forKey:kNotiferMessageModelContent];
- [aCoder encodeObject:_type forKey:kNotiferMessageModelType];
- [aCoder encodeObject:_title forKey:kNotiferMessageModelTitle];
- [aCoder encodeObject:_userId forKey:kNotiferMessageModelUserId];
- [aCoder encodeObject:_group forKey:kNotiferMessageModelGroup];
- [aCoder encodeDouble:_readStatus forKey:kNotiferMessageModelReadStatus];
- [aCoder encodeObject:_status forKey:kNotiferMessageModelStatus];
- }
- - (id)copyWithZone:(NSZone *)zone
- {
- NotiferMessageModel *copy = [[NotiferMessageModel alloc] init];
-
- if (copy) {
- copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
- copy.modifyOn = [self.modifyOn copyWithZone:zone];
- copy.clientId = [self.clientId copyWithZone:zone];
- copy.sendTime = [self.sendTime copyWithZone:zone];
- copy.receiver = [self.receiver copyWithZone:zone];
- copy.errorMsg = [self.errorMsg copyWithZone:zone];
- copy.createOn = [self.createOn copyWithZone:zone];
- copy.memo = [self.memo copyWithZone:zone];
- copy.content = [self.content copyWithZone:zone];
- copy.type = [self.type copyWithZone:zone];
- copy.title = [self.title copyWithZone:zone];
- copy.userId = [self.userId copyWithZone:zone];
- copy.group = [self.group copyWithZone:zone];
- copy.readStatus = self.readStatus;
- copy.status = [self.status copyWithZone:zone];
- }
-
- return copy;
- }
- @end
|