NSSortDescriptor - Sortiert den Deskriptor basierend auf einem anderen Array
Ich habe eine Kerndatenanwendung. Und ich möchte eine Art von Objekt holen,User
. User
habe die EigenschaftuserId
.
Ich habe ein anderes Array mituserId
s,[1, 4, 3, 5]
. Und ich würde gerne eine erstellenNSSortDescriptor
das sortiert meineUser
Objekte in der Reihenfolge deruserId
s im Array.
Ist das möglich und wie soll ich das machen?
Aktualisieren
Ich habe jetzt folgendes versucht.
Ich habe meinem Benutzerobjekt eine umwandelbare Eigenschaft hinzugefügt, in der ich das Benutzer-ID-Array speichere.
Ich habe den folgenden Sortierdeskriptor ausprobiert:
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"userId" ascending:YES comparator:^NSComparisonResult(id obj1, id obj2) {
NSUInteger idx1 = [self.user.followingIds indexOfObject:[obj1 valueForKey:@"userId"]];
NSUInteger idx2 = [self.user.followingIds indexOfObject:[obj2 valueForKey:@"userId"]];
return idx1 - idx2;
}];
Und ich erhalte den folgenden Fehler:
Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. [<__NSCFNumber 0xa337400> valueForUndefinedKey:]: this class is not key value coding-compliant for the key userId. with userInfo {
NSTargetObjectUserInfoKey = 2502;
NSUnknownUserInfoKey = userId;
}
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSCFNumber 0xa337400> valueForUndefinedKey:]: this class is not key value coding- compliant for the key userId.'
Update 2
Möchte auch eine Beziehung hinzufügenFollowers
zwischenUser
Objekte. Irgendwelche Ideen, wie diese Beziehung aussehen sollte? Siehe beigefügtes Bild. Ist das korrekt?