MinePageGroupModel.m 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. //
  2. // MinePageGroupModel.m
  3. //
  4. // Created by Steven on 2022/5/11
  5. // Copyright (c) 2022 __MyCompanyName__. All rights reserved.
  6. //
  7. #import "MinePageGroupModel.h"
  8. NSString *const kMinePageGroupModelId = @"id";
  9. NSString *const kMinePageGroupModelName = @"name";
  10. NSString *const kMinePageGroupModelCreateBy = @"createBy";
  11. NSString *const kMinePageGroupModelMemo = @"memo";
  12. NSString *const kMinePageGroupModelAutoPassFlag = @"autoPassFlag";
  13. NSString *const kMinePageGroupModelImg = @"img";
  14. NSString *const kMinePageGroupModelType = @"type";
  15. NSString *const kMinePageGroupModelMemberNum = @"memberNum";
  16. NSString *const kMinePageGroupModelCreateTime = @"createTime";
  17. NSString *const kMinePageGroupModelHasWaitAuditFlag = @"hasWaitAuditFlag";
  18. NSString *const kMinePageGroupModelExistFlag = @"existFlag";
  19. NSString *const kMinePageGroupModelIntroduce = @"introduce";
  20. NSString *const kMinePageGroupModelUpdateTime = @"updateTime";
  21. @interface MinePageGroupModel ()
  22. - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
  23. @end
  24. @implementation MinePageGroupModel
  25. @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
  26. @synthesize name = _name;
  27. @synthesize createBy = _createBy;
  28. @synthesize memo = _memo;
  29. @synthesize autoPassFlag = _autoPassFlag;
  30. @synthesize img = _img;
  31. @synthesize type = _type;
  32. @synthesize memberNum = _memberNum;
  33. @synthesize createTime = _createTime;
  34. @synthesize hasWaitAuditFlag = _hasWaitAuditFlag;
  35. @synthesize existFlag = _existFlag;
  36. @synthesize introduce = _introduce;
  37. @synthesize updateTime = _updateTime;
  38. + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
  39. {
  40. return [[self alloc] initWithDictionary:dict];
  41. }
  42. - (instancetype)initWithDictionary:(NSDictionary *)dict
  43. {
  44. self = [super init];
  45. // This check serves to make sure that a non-NSDictionary object
  46. // passed into the model class doesn't break the parsing.
  47. if(self && [dict isKindOfClass:[NSDictionary class]]) {
  48. self.internalBaseClassIdentifier = [self objectOrNilForKey:kMinePageGroupModelId fromDictionary:dict];
  49. self.name = [self objectOrNilForKey:kMinePageGroupModelName fromDictionary:dict];
  50. self.createBy = [[self objectOrNilForKey:kMinePageGroupModelCreateBy fromDictionary:dict] doubleValue];
  51. self.memo = [self objectOrNilForKey:kMinePageGroupModelMemo fromDictionary:dict];
  52. self.autoPassFlag = [[self objectOrNilForKey:kMinePageGroupModelAutoPassFlag fromDictionary:dict] boolValue];
  53. self.img = [self objectOrNilForKey:kMinePageGroupModelImg fromDictionary:dict];
  54. self.type = [self objectOrNilForKey:kMinePageGroupModelType fromDictionary:dict];
  55. self.memberNum = [[self objectOrNilForKey:kMinePageGroupModelMemberNum fromDictionary:dict] doubleValue];
  56. self.createTime = [self objectOrNilForKey:kMinePageGroupModelCreateTime fromDictionary:dict];
  57. self.hasWaitAuditFlag = [[self objectOrNilForKey:kMinePageGroupModelHasWaitAuditFlag fromDictionary:dict] boolValue];
  58. self.existFlag = [[self objectOrNilForKey:kMinePageGroupModelExistFlag fromDictionary:dict] boolValue];
  59. self.introduce = [self objectOrNilForKey:kMinePageGroupModelIntroduce fromDictionary:dict];
  60. self.updateTime = [self objectOrNilForKey:kMinePageGroupModelUpdateTime fromDictionary:dict];
  61. }
  62. return self;
  63. }
  64. - (NSDictionary *)dictionaryRepresentation
  65. {
  66. NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
  67. [mutableDict setValue:self.internalBaseClassIdentifier forKey:kMinePageGroupModelId];
  68. [mutableDict setValue:self.name forKey:kMinePageGroupModelName];
  69. [mutableDict setValue:[NSNumber numberWithDouble:self.createBy] forKey:kMinePageGroupModelCreateBy];
  70. [mutableDict setValue:self.memo forKey:kMinePageGroupModelMemo];
  71. [mutableDict setValue:[NSNumber numberWithBool:self.autoPassFlag] forKey:kMinePageGroupModelAutoPassFlag];
  72. [mutableDict setValue:self.img forKey:kMinePageGroupModelImg];
  73. [mutableDict setValue:self.type forKey:kMinePageGroupModelType];
  74. [mutableDict setValue:[NSNumber numberWithDouble:self.memberNum] forKey:kMinePageGroupModelMemberNum];
  75. [mutableDict setValue:self.createTime forKey:kMinePageGroupModelCreateTime];
  76. [mutableDict setValue:[NSNumber numberWithBool:self.hasWaitAuditFlag] forKey:kMinePageGroupModelHasWaitAuditFlag];
  77. [mutableDict setValue:[NSNumber numberWithBool:self.existFlag] forKey:kMinePageGroupModelExistFlag];
  78. [mutableDict setValue:self.introduce forKey:kMinePageGroupModelIntroduce];
  79. [mutableDict setValue:self.updateTime forKey:kMinePageGroupModelUpdateTime];
  80. return [NSDictionary dictionaryWithDictionary:mutableDict];
  81. }
  82. - (NSString *)description
  83. {
  84. return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
  85. }
  86. #pragma mark - Helper Method
  87. - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
  88. {
  89. id object = [dict objectForKey:aKey];
  90. if ([object isKindOfClass:[NSNumber class]]) {
  91. NSNumber *number = object;
  92. object = [number stringValue];
  93. }
  94. return [object isEqual:[NSNull null]] ? nil : object;
  95. }
  96. #pragma mark - NSCoding Methods
  97. - (id)initWithCoder:(NSCoder *)aDecoder
  98. {
  99. self = [super init];
  100. self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kMinePageGroupModelId];
  101. self.name = [aDecoder decodeObjectForKey:kMinePageGroupModelName];
  102. self.createBy = [aDecoder decodeDoubleForKey:kMinePageGroupModelCreateBy];
  103. self.memo = [aDecoder decodeObjectForKey:kMinePageGroupModelMemo];
  104. self.autoPassFlag = [aDecoder decodeBoolForKey:kMinePageGroupModelAutoPassFlag];
  105. self.img = [aDecoder decodeObjectForKey:kMinePageGroupModelImg];
  106. self.type = [aDecoder decodeObjectForKey:kMinePageGroupModelType];
  107. self.memberNum = [aDecoder decodeDoubleForKey:kMinePageGroupModelMemberNum];
  108. self.createTime = [aDecoder decodeObjectForKey:kMinePageGroupModelCreateTime];
  109. self.hasWaitAuditFlag = [aDecoder decodeBoolForKey:kMinePageGroupModelHasWaitAuditFlag];
  110. self.existFlag = [aDecoder decodeBoolForKey:kMinePageGroupModelExistFlag];
  111. self.introduce = [aDecoder decodeObjectForKey:kMinePageGroupModelIntroduce];
  112. self.updateTime = [aDecoder decodeObjectForKey:kMinePageGroupModelUpdateTime];
  113. return self;
  114. }
  115. - (void)encodeWithCoder:(NSCoder *)aCoder
  116. {
  117. [aCoder encodeObject:_internalBaseClassIdentifier forKey:kMinePageGroupModelId];
  118. [aCoder encodeObject:_name forKey:kMinePageGroupModelName];
  119. [aCoder encodeDouble:_createBy forKey:kMinePageGroupModelCreateBy];
  120. [aCoder encodeObject:_memo forKey:kMinePageGroupModelMemo];
  121. [aCoder encodeBool:_autoPassFlag forKey:kMinePageGroupModelAutoPassFlag];
  122. [aCoder encodeObject:_img forKey:kMinePageGroupModelImg];
  123. [aCoder encodeObject:_type forKey:kMinePageGroupModelType];
  124. [aCoder encodeDouble:_memberNum forKey:kMinePageGroupModelMemberNum];
  125. [aCoder encodeObject:_createTime forKey:kMinePageGroupModelCreateTime];
  126. [aCoder encodeBool:_hasWaitAuditFlag forKey:kMinePageGroupModelHasWaitAuditFlag];
  127. [aCoder encodeBool:_existFlag forKey:kMinePageGroupModelExistFlag];
  128. [aCoder encodeObject:_introduce forKey:kMinePageGroupModelIntroduce];
  129. [aCoder encodeObject:_updateTime forKey:kMinePageGroupModelUpdateTime];
  130. }
  131. - (id)copyWithZone:(NSZone *)zone
  132. {
  133. MinePageGroupModel *copy = [[MinePageGroupModel alloc] init];
  134. if (copy) {
  135. copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
  136. copy.name = [self.name copyWithZone:zone];
  137. copy.createBy = self.createBy;
  138. copy.memo = [self.memo copyWithZone:zone];
  139. copy.autoPassFlag = self.autoPassFlag;
  140. copy.img = [self.img copyWithZone:zone];
  141. copy.type = [self.type copyWithZone:zone];
  142. copy.memberNum = self.memberNum;
  143. copy.createTime = [self.createTime copyWithZone:zone];
  144. copy.hasWaitAuditFlag = self.hasWaitAuditFlag;
  145. copy.existFlag = self.existFlag;
  146. copy.introduce = [self.introduce copyWithZone:zone];
  147. copy.updateTime = [self.updateTime copyWithZone:zone];
  148. }
  149. return copy;
  150. }
  151. @end