NSSortDescriptor na atrybucie przejściowym dla NSFetchedResultsController

Ok, początkowo chciałem to zrobićNSSortDescriptor wnioskuNSFetchedResultsController sortować na podstawie właściwości w moimNSManagedObject podklasa, ale oczywiście tego nie zrobi, ponieważ NSFetchedResultsController jest ograniczony do predykatów i sortowania deskryptorów, które działają na pobranej jednostce i jej relacjach, więc zdecydowałem się utworzyć atrybut przejściowy w moim modelu danych, syntezując właściwość tego atrybutu do ivar w moimNSManagedObject podklasa i sortuj na jej podstawie.

Po uruchomieniu otrzymałem podczas wykonywania pobierania'NSInvalidArgumentException', reason: 'keypath isActive not found in entity <NSSQLEntity SMSourceEntity id=2>'

Wiem, że to kwestia KVO, więc dodałem+ (NSSet*)keyPathsForValuesAffectingIsActive, ale wciąż mam ten sam problem.

Co zrobiłem źle, czy wciąż brakuje mi czegoś, co mogłoby go znaleźć? Dzięki.

kod:

@implementation SMSourceEntity

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

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

@end

mój sortDescriptor:

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

questionAnswers(1)

yourAnswerToTheQuestion