Если ваш массив изменчив, вы можете отсортировать его с помощью методов -sortUsing .... Если нет, вы можете создать новый отсортированный массив с помощью методов -sortedArrayUsing .... Например, есть -sortUsingComparator: и -sortedArrayUsingComparator: методы, которые принимают блок компаратора в качестве параметра. Вам просто нужно предоставить блок, который сравнивает два объекта, используя ваш собственный порядок сортировки, например:
[myArray sortUsingComparator:^(id firstObject, id secondObject) {
NSString *firstKey = [firstObject valueForKey:@"location"];
NSString *secondKey = [secondObject valueForKey:@"location"];
if ([firstKey stringEqual:@"N"] || [lastKey stringEqual:@"R"])
return NSOrderedAscending;
else if ([firstKey stringEqual:secondKey])
return NSOrderedSame;
else
return NSOrderedDescending;
}];
Довольно подробное обсуждение сортировки массивов с примерами содержится в документе Темы программирования коллекций .