使用字典值动态填充对象属性

时间:2011-06-09 20:44:11

标签: objective-c dictionary properties initialization populate

在Objective-C中,我有一本词典:

firstName -> John
lastName -> Smith
age -> 34

和一个对象Person,它具有相应的实例变量和属性(适当地处理内存管理)。我想创建一个便利初始化程序,它将字典作为参数,并从字典键/值填充所有对象字段(通过其属性进行内存管理),而不是手动执行以下操作:

obj.firstName = [dict objectForKey:@"firstName"];
obj.lastName = [dict objectForKey:@"lastName"];
obj.age = [dict objectForKey:@"age"];
....

我该怎么做?

1 个答案:

答案 0 :(得分:20)

您可以使用Key-Value Coding

[obj setValuesForKeysWithDictionary:dict];

另见the documentation for -setValuesForKeysWithDictionary: