¿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 verdaderasAhora 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?