Динамическое заполнение свойств объекта значениями словаря - PullRequest
5 голосов
/ 10 июня 2011

В 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 Ответ

20 голосов
/ 10 июня 2011

Вы можете использовать Кодирование значения ключа :

[obj setValuesForKeysWithDictionary:dict];

См. Также документацию для -setValuesForKeysWithDictionary:.

...