Как отсортировать NSArray объектов, используя другой NSArray, который содержит упорядоченные ключи объектов? - PullRequest
0 голосов
/ 20 января 2012

например, если у меня есть объект:

@interface MyObject
{
    __id;
    __data;
}

и у меня есть NSArray такого объекта:

id=4
data=Apple
id=5
data=Banana
id=6
data=Orange

У меня также есть NSArray из идентификаторов:

{"5", "4", "6"}

Теперь я хочу отсортировать массив объектов по идентификаторам в порядке их расположения во втором массиве, поэтому результат должен быть:

id=5
data=Banana
id=4
data=Apple
id=6
data=Orange

Возможно ли это (в ObjC для iPhone)? Какой самый эффективный способ?

Спасибо!

1 Ответ

1 голос
/ 20 января 2012

Вы можете использовать - (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr функцию класса NSArray.

Вы должны написать свой собственный блок компаратора, который будет возвращать порядок в зависимости от позиции идентификатора в массиве идентификаторов - т.е. возвращать NSOrderedAscending, когда idA дальшес начала массива, чем idB.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...