ibireme / YYModel

High performance model framework for iOS/OSX.
MIT License
4.34k stars 915 forks source link

JSON 转Model #262

Open MRZHL opened 6 years ago

MRZHL commented 6 years ago

// JSON: { "n":"Harry Pottery", "p": 256, "ext" :[ ////////修改的部分 { "desc" : "A book written by J.K.Rowing."}, { "desc" : "A book written by J.K.Rowing."}, { "desc" : "A book written by J.K.Rowing."}, { "desc" : "A book written by J.K.Rowing."}, { "desc" : "A book written by J.K.Rowing."} /////修改的部分 ], "ID" : 100010 }

// Model: @interface Book : NSObject @property NSString name; @property NSInteger page; @property NSArray desc; ////// 修改的部分 @property NSString *bookID; @end @implementation Book

如果把ext 对应的字典改为数组. 在Model 里新添加一个数组的属性, 存 作者 该怎么映射?

xtxh commented 6 years ago

有时间研究下demo就都明白了

@interface ModelUser : NSObject @property (nonatomic, copy) NSString name; @property (nonatomic, assign) NSUInteger uid; @property (nonatomic, assign) GenderType gender; @property (nonatomic, assign) NSString autograph; @property (nonatomic, assign) BOOL isVIP; ///////////////////////////////////////////////////////////////////////////////// @property (nonatomic, strong) NSDictionary<NSString,ModelUser> parents; @property (nonatomic, strong) NSArray<ModelPet> pets; @property (nonatomic, strong) NSArray<ModelUser>* friends;

@end

@implementation ModelUser

+(NSDictionary*)modelContainerPropertyGenericClass { return @{ @"pets":[ModelPet class], @"parents":[ModelUser class], @"friends":ModelUser.class }; }

+(NSDictionary*)modelCustomPropertyMapper { return @{ @"uid":@"id" }; }