У меня есть NSArray
из NSDictionaries
, в котором я создаю NSArray
из NSStrings
из одного из элементов в NSDictionary
.Как отсортировать NSArray с использованием различных функций сортировки
Я пытаюсь сортировать оба, но я получаю немного разные результаты от обоих видов.
NSDictionary
в простой
NAME
Number
Я первый NSArray
и создание нового NSArray
с помощью NAME элемент словаря.
Я тогда сортировки первый массив как этот
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"NAME" ascending:YES]; // 1
sortedByNameArray = [dataArrayOfDictionaries sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
Я тогда взять второй массив, который является точно такой же порядок перед первым сортируется и сортировать его, как это
// sorts nicknames
newSortedArray = [nameOnlyArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
И хотя оба массива отсортированы в алфавитном порядке localizedCaseInsensitiveCompare:
, похоже, хорошо справляется с сортировкой, так как мой другой sortedArrayUsingDescriptors:
, похоже, сортирует только с использованием первой буквы, чтобы ее не отсортировать по-настоящему.
Я хотел бы получить некоторую помощь, применяя localizedCaseInsensitiveCompare
к NSArray
словарей .. но я не знаю, как сделать это учитывая, что вы должны получить доступ к имени элемента каждого NSDictionary
внутри первого NSArray
.
Любая помощь была бы принята с благодарностью.