Сортировка NSArray словарей по значению ключа в словарях - PullRequest
61 голосов
/ 01 марта 2012

У меня есть массив, заполненный словарями, и мне нужно отсортировать массив в алфавитном порядке по значениям одного из ключей словарей.

Это мой массив:

tu dictus: (
    {
    brand = Ryul;
    productTitle = Any;
    quantity = 1;
    subBrand = "Ryul INJ";
    type = Product;
},
    {
    brand = Trol;
    productTitle = Different;
    quantity = 2;
    subBrand = "";
    type = Brand;
},
    {
    brand = Dtor;
    productTitle = Any;
    quantity = 1;
    subBrand = "";
    type = Product;
},
    {
    brand = Ryul;
    productTitle = Different;
    quantity = 2;
    subBrand = "Ryul CHES";
    type = SubBrand;
},
    {
    brand = Anan;
    productTitle = Any;
    quantity = 1;
    subBrand = "";
    type = Product;
}
)

Обычно для сортировки массива я буду использовать

myArray = [uniqueProdsArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

Но как сортировать, используя ключ словаря brand?

Ответы [ 11 ]

0 голосов
/ 04 января 2019

Используйте это для быстрого 4

let sortedArray = arrayTobeSort.sorted {$0["keyName"].compare($1["keyName"]) == ComparisonResult.orderedAscending}

Вы также можете использовать ComparisonResult.orderedDescending для сортировки по убыванию

...