ModelBanner.m 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // ModelBanner.m
  3. //
  4. // Created by on 2021/8/9
  5. // Copyright (c) 2021 __MyCompanyName__. All rights reserved.
  6. //
  7. #import "ModelBanner.h"
  8. NSString *const kModelBannerOnlineState = @"online_state";
  9. NSString *const kModelBannerSort = @"sort";
  10. NSString *const kModelBannerPosition = @"position";
  11. NSString *const kModelBannerId = @"id";
  12. NSString *const kModelBannerWebUrl = @"web_url";
  13. NSString *const kModelBannerImgPath = @"img_path";
  14. NSString *const kModelBannerTitle = @"title";
  15. NSString *const kModelBannerType = @"type";
  16. NSString *const kModelBannerCreatetime = @"createtime";
  17. @interface ModelBanner ()
  18. - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
  19. @end
  20. @implementation ModelBanner
  21. @synthesize onlineState = _onlineState;
  22. @synthesize sort = _sort;
  23. @synthesize position = _position;
  24. @synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
  25. @synthesize webUrl = _webUrl;
  26. @synthesize imgPath = _imgPath;
  27. @synthesize title = _title;
  28. @synthesize type = _type;
  29. @synthesize createtime = _createtime;
  30. + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict {
  31. return [[self alloc] initWithDictionary:dict];
  32. }
  33. - (instancetype)initWithDictionary:(NSDictionary *)dict {
  34. self = [super init];
  35. // This check serves to make sure that a non-NSDictionary object
  36. // passed into the model class doesn't break the parsing.
  37. if (self && [dict isKindOfClass:[NSDictionary class]]) {
  38. self.onlineState = [[self objectOrNilForKey:kModelBannerOnlineState fromDictionary:dict] doubleValue];
  39. self.sort = [[self objectOrNilForKey:kModelBannerSort fromDictionary:dict] doubleValue];
  40. self.position = [[self objectOrNilForKey:kModelBannerPosition fromDictionary:dict] doubleValue];
  41. self.internalBaseClassIdentifier = [self objectOrNilForKey:kModelBannerId fromDictionary:dict];
  42. self.webUrl = [self objectOrNilForKey:kModelBannerWebUrl fromDictionary:dict];
  43. self.imgPath = [self objectOrNilForKey:kModelBannerImgPath fromDictionary:dict];
  44. self.title = [self objectOrNilForKey:kModelBannerTitle fromDictionary:dict];
  45. self.type = [[self objectOrNilForKey:kModelBannerType fromDictionary:dict] doubleValue];
  46. self.createtime = [self objectOrNilForKey:kModelBannerCreatetime fromDictionary:dict];
  47. }
  48. return self;
  49. }
  50. - (NSDictionary *)dictionaryRepresentation {
  51. NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
  52. [mutableDict setValue:[NSNumber numberWithDouble:self.onlineState] forKey:kModelBannerOnlineState];
  53. [mutableDict setValue:[NSNumber numberWithDouble:self.sort] forKey:kModelBannerSort];
  54. [mutableDict setValue:[NSNumber numberWithDouble:self.position] forKey:kModelBannerPosition];
  55. [mutableDict setValue:self.internalBaseClassIdentifier forKey:kModelBannerId];
  56. [mutableDict setValue:self.webUrl forKey:kModelBannerWebUrl];
  57. [mutableDict setValue:self.imgPath forKey:kModelBannerImgPath];
  58. [mutableDict setValue:self.title forKey:kModelBannerTitle];
  59. [mutableDict setValue:[NSNumber numberWithDouble:self.type] forKey:kModelBannerType];
  60. [mutableDict setValue:self.createtime forKey:kModelBannerCreatetime];
  61. return [NSDictionary dictionaryWithDictionary:mutableDict];
  62. }
  63. - (NSString *)description {
  64. return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
  65. }
  66. #pragma mark - Helper Method
  67. - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict {
  68. id object = [dict objectForKey:aKey];
  69. return [object isEqual:[NSNull null]] ? nil : object;
  70. }
  71. @end