¿Cómo asignar objetos JSON a las clases del objetivo C?

Estoy asignando datos con formato JSON de un servidor web a clases de Objective C (NSManagedObjects modelados en Xcode, manejados por Core Data). Para cada atributo de la clase Objective C, necesito:

Determine si la clave del atributo existe en el objeto JSON,Determine si el valor de esa clave no es nulo, yPass el valor a la instancia de clase modelada si las condiciones 1 y 2 son verdaderas

Ahora mismo, estoy codificando esta secuencia para cada uno de los atributos, por lo que cada atributo necesita un código como el siguiente:

// dictObject is the JSON object converted into a NSDictionary,
// and person is the instance of the modeled class

if ([dictObject objectForKey:@"nameFirst"] &&
    [dictObject objectForKey:@"nameFirst"] != [NSNull null]) {
    person.nameFirst = [dictObject objectForKey:@"nameFirst"];
}

Además de requerir unamuch de código para manejar las diversas clases, esto parece torpe y frágil: cualquier cambio de nombre (o localización de idioma) causaría un error en la asignación.

Tiene que haber una mejor manera ... ¿qué me estoy perdiendo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta