Preencher dinamicamente propriedades de objetos com valores de dicionário

No Objective-C, eu tenho um dicionário:

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

e um objetoPerson que possui variáveis e propriedades de instância correspondentes (que lidam adequadamente com o gerenciamento de memória). Gostaria de criar um inicializador de conveniência que use um dicionário como argumento e preencha todos os campos de objetos (por meio de suas propriedades para fins de gerenciamento de memória) das chaves / valores do dicionário, em vez de fazer manualmente algo como:

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

Como posso fazer isso

questionAnswers(1)

yourAnswerToTheQuestion