Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 按键值对字典数组排序_Objective C - Fatal编程技术网

Objective c 按键值对字典数组排序

Objective c 按键值对字典数组排序,objective-c,Objective C,假设我有一个由6个字典组成的数组——每个字典都有一个带有关联值的“location”键。我如何将这些值排序在一起,以便从这里开始 "location" : USA "location" : UK "location" : Asia "location" : UK "location" : USA "location" : Asia 这个 "location" : Asia "location" : Asia "location" : UK "location" : UK "location"

假设我有一个由6个字典组成的数组——每个字典都有一个带有关联值的“location”键。我如何将这些值排序在一起,以便从这里开始

"location" : USA
"location" : UK
"location" : Asia
"location" : UK
"location" : USA
"location" : Asia
这个

"location" : Asia
"location" : Asia
"location" : UK
"location" : UK
"location" : USA
"location" : USA

我猜使用Comparator:SorterDarray的方法就是您要寻找的:

NSArray *array = @[@{@"location" : @"USA"},
                   @{@"location" : @"UK"},
                   @{@"location" : @"Asia"},
                   @{@"location" : @"UK"},
                   @{@"location" : @"USA"},
                   @{@"location" : @"Asia"}];
NSArray *sortedArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    return [[obj1 valueForKey:@"location"] compare:[obj2 valueForKey:@"location"]];
}];

无法在NSDictionary中对键值对进行排序。唯一的方法是通过NSDictionary循环并在某处存储对,