NSSortDescriptor no atributo transitório para NSFetchedResultsController
Ok, eu inicialmente queria fazerNSSortDescriptor
de um pedido deNSFetchedResultsController
para classificar com base na propriedade no meuNSManagedObject
subclasse, mas obviamente não o fará, porque NSFetchedResultsController é limitado a predicados e descritores de classificação que trabalham na entidade buscada e suas relações, então eu decidi criar um atributo transitório em meu modelo de dados, sintetizar a propriedade para este atributo para ivar na minhaNSManagedObject
subclasse e classificar com base nele.
Ao executá-lo, eu tenho durante a execução buscar'NSInvalidArgumentException', reason: 'keypath isActive not found in entity <NSSQLEntity SMSourceEntity id=2>'
Eu sei que isso é problema de KVO, então eu adicionei+ (NSSet*)keyPathsForValuesAffectingIsActive
, mas ainda tem o mesmo problema.
O que eu fiz de errado, ou ainda estou sentindo falta de algo para fazer com que encontre meu caminho-chave? Obrigado.
código:
@implementation SMSourceEntity
@dynamic friendlyName;
@dynamic interfaceAddress;
@dynamic uniqueID;
@dynamic network;
@synthesize isActive = _isActive;
+ (NSSet*)keyPathsForValuesAffectingIsActive
{
return [NSSet setWithObject:@"isActive"];
}
@end
meu sortDescriptor:
request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"isActive" ascending:NO] , nil];