Problemas al recuperar el objeto NSDate de Core Data usando KVC

Tengo las fechas almacenadas en los datos del núcleo como objetos NSDate. Cuando intento recuperarlos utilizando una solicitud de recuperación y - (id) valueForKey: obtengo un número entero en lugar de un objeto NSDate.

NSError *error = nil;
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];    
NSManagedObject *entity = [results lastObject];
NSDate *date = [entity valueForKey:@"updated"];

Cuando uso la notación de puntos como myEntity.updated, obtengo un objeto NSDate correctamente, pero no cuando uso un método KVC.

La razón por la que quiero usar - (id) valueForKey: es porque estoy ejecutando este código en cada entidad en los datos centrales y no quiero definir cada entidad explícitamente. Alternativamente, podría codificar un montón de declaraciones if que prueben isKindOfClass, pero eso requerirá una gran cantidad de código y parece un poco pirateado.

Cualquier sugerencia sería muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta