NSSortDescriptor для переходного атрибута для NSFetchedResultsController
Ок я изначально хотел сделатьNSSortDescriptor
запроса наNSFetchedResultsController
сортировать на основе собственности в моемNSManagedObject
подкласс, но он явно выигралЭто делается потому, что NSFetchedResultsController ограничен предикатами и дескрипторами сортировки, которые работают с извлеченным объектом и его отношениями, поэтому я решил создать временный атрибут в моей модели данных, синтезировать для этого атрибута свойство ivar в моемNSManagedObject
подкласс, и сортировать на его основе.
При запуске я получил во время выполнения fetch'NSInvalidArgumentException', reason: 'keypath isActive not found in entity '
Я знаю, что это проблема КВО, поэтому я добавил+ (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];