Cocoa touch 根据NSDictionary中的值设置NSObject的属性
我想知道是否可以从Cocoa touch 根据NSDictionary中的值设置NSObject的属性,cocoa-touch,nsdictionary,declared-property,Cocoa Touch,Nsdictionary,Declared Property,我想知道是否可以从NSDictionary设置NSObject的属性,而无需单独设置每个属性 NSObject中的属性名称与NSDictionary中的键名称匹配 有没有一个简单的方法可以做到这一点 假设值的类型匹配,您希望使用-(void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues NSNull值将被视为nil。假设值的类型匹配,您希望使用-(void)setValuesForKeysWithDictionary:(NSD
NSDictionary
设置NSObject
的属性,而无需单独设置每个属性
NSObject
中的属性名称与NSDictionary
中的键名称匹配
有没有一个简单的方法可以做到这一点 假设值的类型匹配,您希望使用
-(void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues
NSNull值将被视为nil。假设值的类型匹配,您希望使用-(void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues
NSNull值将被视为nil。我编写了一个小型库来自动执行此操作,它还处理日期转换
只要所有键与属性名相同,它就会自动将NSDictionary转换为NSObject
Customer *customer = [Customer objectFromDictionary:customerDictionary];
NSArray *customers = [Customer objectFromDictionary:listOfCustomersDictionary];
如果键和属性名称不相同,则可以编写映射
[mappingProvider mapFromDictionaryKey:@"dob" toPropertyKey:@"dateOfBearth" forClass:[Customer class]];
我写了一个小型的库,它可以自动完成这项工作,还可以处理日期的转换 只要所有键与属性名相同,它就会自动将NSDictionary转换为NSObject
Customer *customer = [Customer objectFromDictionary:customerDictionary];
NSArray *customers = [Customer objectFromDictionary:listOfCustomersDictionary];
如果键和属性名称不相同,则可以编写映射
[mappingProvider mapFromDictionaryKey:@"dob" toPropertyKey:@"dateOfBearth" forClass:[Customer class]];
可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复,可能的重复。