NSSortDescriptor - Deskryptor sortowania oparty na innej tablicy

Mam podstawową aplikację do przetwarzania danych. I chcę przynieść jeden rodzaj obiektu,User. User mieć nieruchomośćuserId.

Mam inną tablicę zuserIds,[1, 4, 3, 5]. I chciałbym stworzyćNSSortDescriptor to sortuje mojeUserobiekty oparte na kolejnościuserIds w tablicy.

Czy to możliwe i jak mam to zrobić?

Aktualizacja

Próbowałem teraz następujących rzeczy.

Dodałem właściwość transformowalną do mojego obiektu użytkownika, w którym przechowuję tablicę identyfikatorów użytkowników.

Próbowałem następującego deskryptora sortowania:

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;
}];

I otrzymuję następujący błąd:

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.'

Aktualizacja 2

Chciałbym również dodać relacjęFollowers pomiędzyUser przedmioty. Jakieś pomysły, jak powinien wyglądać ten związek? Zobacz załączony obraz. Czy to jest poprawne?

questionAnswers(3)

yourAnswerToTheQuestion