NSSortDescriptor en atributo transitorio para NSFetchedResultsController

Ok, inicialmente quería hacerNSSortDescriptor de una solicitud deNSFetchedResultsController ordenar en base a la propiedad en miNSManagedObject subclase, pero obviamente no lo hará, porque NSFetchedResultsController está limitado a predicados y descriptores de clasificación que funcionan en la entidad buscada y sus relaciones, así que decidí crear un atributo transitorio en mi modelo de datos, sintetizando la propiedad de este atributo para ivar en miNSManagedObject subclase, y ordenamiento basado en él.

Cuando lo ejecuto, lo tengo al ejecutar fetch'NSInvalidArgumentException', reason: 'keypath isActive not found in entity <NSSQLEntity SMSourceEntity id=2>'

Sé que este es un problema KVO, así que he añadido+ (NSSet*)keyPathsForValuesAffectingIsActive, pero sigue teniendo el mismo problema.

¿Qué hice mal, o aún me falta algo para que encuentre mi camino de acceso? Gracias.

código:

@implementation SMSourceEntity

@dynamic friendlyName;
@dynamic interfaceAddress;
@dynamic uniqueID;
@dynamic network;
@synthesize isActive = _isActive;

+ (NSSet*)keyPathsForValuesAffectingIsActive
{
    return [NSSet setWithObject:@"isActive"];
}

@end

mi sortDescriptor:

request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"isActive" ascending:NO] , nil];

Respuestas a la pregunta(1)

Su respuesta a la pregunta