Как переупорядочить элементы (NSString) NSArray в алфавитном порядке? - PullRequest
4 голосов
/ 28 февраля 2011

Как изменить порядок элементов (NSString) NSArray в алфавитном порядке?

Ответы [ 5 ]

5 голосов
/ 02 июля 2011

NSSortDescriptor излишне сортировать массив, элементы которого являются NSString экземплярами.

NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector: @selector(compare:)];

Если вместо нового массива создается его отсортированные элементы, вы хотите переупорядочить элементы NSMutableArray , есть метод для этого:

[unsortedMutableArray sortUsingSelector: @selector(compare:)];

Используйте экземпляр NSSortDescriptor , когда у вас большой объектуправлять массивом для вас, как NSArrayController или NSTableView.Если это так, а элементы являются только экземплярами NSString , ответ @ iHS будет правильным.

4 голосов
/ 28 февраля 2011

вы можете использовать sortDescriptor

 NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"yourKey" ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
NSArray * sortedArray =
    [yourArray sortedArrayUsingDescriptors:descriptor];
4 голосов
/ 28 февраля 2011

Вы можете использовать класс NSSortDescriptor для целей сортировки

NSSortDescriptor * sortDesc = [[NSSortDescriptor alloc] initWithKey:@”self” ascending:YES];
[array sortUsingDescriptors:[NSArray arrayWithObject:sortDesc]];
[sortDesc release];

Для получения дополнительной информации посмотрите

1) NSSortDescriptor

2) Sorting-NSArrays

0 голосов
/ 10 декабря 2016

Swift 3.0:

category - это массив Category -> [Category].

let sortDescriptor = NSSortDescriptor(key: "name", ascending: true, selector: #selector(NSString.caseInsensitiveCompare(_:)))                                                  
let orderedCategories = (categories as NSArray).sortedArray(using: [sortDescriptor])

Замените категорию вашим массивом пользовательских объектов.Если вы используете обычный NSArray, замените (categories as NSArray) на ваш массив.

0 голосов
/ 28 февраля 2011

Конечно, вы можете это сделать. Попробуйте использовать NSSortDescriptor, обратитесь за помощью к уже просим Отображение данных в алфавитном порядке iphone

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