NSSortDescriptor - дескриптор сортировки на основе другого массива
У меня есть основное приложение данных. И я хочу получить один вид объекта,User
. User
иметь собственностьuserId
.
У меня есть другой массив сuserId
s,[1, 4, 3, 5]
, И я хотел бы создатьNSSortDescriptor
это сортирует мойUser
объекты на основе порядкаuserId
с в массиве.
Это возможно, и как мне это сделать?
Обновить
Я сейчас попробовал следующее.
Я добавил преобразовываемое свойство в свой объект User, где храню массив идентификаторов пользователя.
Я пробовал следующий дескриптор сортировки:
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;
}];
И я получаю следующую ошибку:
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.'
Обновление 2
Также хотел бы добавить отношенияFollowers
междуUser
объекты. Есть идеи, как должны выглядеть эти отношения? Смотрите прикрепленное изображение. Это правильно?