NSSortDescriptor für vorübergehendes Attribut für NSFetchedResultsController
Ok, ich wollte das erstmal machenNSSortDescriptor
einer Anfrage fürNSFetchedResultsController
zu sortieren nach der Eigenschaft in meinemNSManagedObject
Da NSFetchedResultsController auf Prädikate und Sortierdeskriptoren beschränkt ist, die mit der abgerufenen Entität und ihren Beziehungen arbeiten, habe ich beschlossen, in meinem Datenmodell ein vorübergehendes Attribut zu erstellen und die Eigenschaft für dieses Attribut zu synthetisieren Ivar in meinemNSManagedObject
Unterklasse und danach sortieren.
Beim Ausführen habe ich beim Ausführen von Fetch'NSInvalidArgumentException', reason: 'keypath isActive not found in entity <NSSQLEntity SMSourceEntity id=2>'
Ich weiß, dass dies ein KVO-Problem ist, also habe ich hinzugefügt+ (NSSet*)keyPathsForValuesAffectingIsActive
, aber immer noch das gleiche Problem.
Was habe ich falsch gemacht oder es fehlt noch etwas, um meinen Schlüsselpfad zu finden? Vielen Dank.
Code:
@implementation SMSourceEntity
@dynamic friendlyName;
@dynamic interfaceAddress;
@dynamic uniqueID;
@dynamic network;
@synthesize isActive = _isActive;
+ (NSSet*)keyPathsForValuesAffectingIsActive
{
return [NSSet setWithObject:@"isActive"];
}
@end
mein sortDescriptor:
request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"isActive" ascending:NO] , nil];