我需要根据从远程服务器通过JSON提供的NSDictionary
设置一堆对象属性。我不想覆盖不在字典中的属性。使用与属性名称不同的键从NSDictionary设置对象的属性
因为有很多的属性,我早就一系列语句看起来像这样:
if (dictionary[@"address_1"] != [NSNull null])
self.configuration.userAddress1 = dictionary[@"address_1"];
在字典中的键是不相同的属性的名称;有两种不同的系统是分开成长的,我试图一起工作。
也许我一直在做太多的Ruby编码,但它似乎应该有一个更好的Objective-C成语这样做。有任何想法吗?
我应该提到属性名称和字典键名不完全相同:例如userAddress1 vs address_1。那是因为他们是分开成长的两个不同的系统,试图一起工作。所以我在这个过程中做了一些“翻译”。 – John
这是一个非常重要的观点,因为如果它不是真的,这将如[使用'setValuesForKeysWithDictionary:'](http://stackoverflow.com/questions/6299007/dynamically-populate-object-properties-with -dictionary值/ 6299057#6299057)。但是,如果您转换字典键_first_,您仍然可以使用它。 –
H'mm。现在这是一个想法。 – John