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];