NSSortDescriptor для переходного атрибута для NSFetchedResultsController
Ок я изначально хотел сделатьNSSortDescriptor
запроса наNSFetchedResultsController
сортировать на основе собственности в моемNSManagedObject
подкласс, но он, очевидно, не будет этого делать, потому что NSFetchedResultsController ограничен предикатами и дескрипторами сортировки, которые работают с извлеченным объектом и его отношениями, поэтому я решил создать временный атрибут в моей модели данных, синтезируя свойство для этого атрибута, чтобы ивара в моемNSManagedObject
подкласс, и сортировать на его основе.
При запуске я получил во время выполнения fetch'NSInvalidArgumentException', reason: 'keypath isActive not found in entity <NSSQLEntity SMSourceEntity id=2>'
Я знаю, что это проблема КВО, поэтому я добавил+ (NSSet*)keyPathsForValuesAffectingIsActive
, но все еще имеют ту же проблему.
Что я сделал не так, или я все еще что-то упускаю, чтобы найти мой путь к ключу? Благодарю.
код:
@implementation SMSourceEntity
@dynamic friendlyName;
@dynamic interfaceAddress;
@dynamic uniqueID;
@dynamic network;
@synthesize isActive = _isActive;
+ (NSSet*)keyPathsForValuesAffectingIsActive
{
return [NSSet setWithObject:@"isActive"];
}
@end
мой sortDescriptor:
request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"isActive" ascending:NO] , nil];