我想知道是否可以在不单独设置每个属性的情况下设置NSObject
from an的属性。NSDictionary
中的属性名称NSObject
与NSDictionary
.
有没有一种简单的方法可以做到这一点?
我想知道是否可以在不单独设置每个属性的情况下设置NSObject
from an的属性。NSDictionary
中的属性名称NSObject
与NSDictionary
.
有没有一种简单的方法可以做到这一点?
假设值的类型匹配,您想要使用- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues
NSNull 的值将被视为 nil。
我写了一个小库来自动化这个,它还处理日期的转换 https://github.com/aryaxt/OCMapper
只要所有键与属性名称相同,它就会自动将 NSDictionary 转换为 NSObject。
Customer *customer = [Customer objectFromDictionary:customerDictionary];
NSArray *customers = [Customer objectFromDictionary:listOfCustomersDictionary];
如果键名和属性名不相同,则可以编写映射
[mappingProvider mapFromDictionaryKey:@"dob" toPropertyKey:@"dateOfBearth" forClass:[Customer class]];