【发布时间】:2017-02-28 04:07:16
【问题描述】:
我知道如何通过键对 nsdictionary 数组进行排序。但是对我来说出现的问题是,当键的值相同时,如何在它们之间进行排序,比如用另一个键?
例如
[{
key1 = 2;
key2 = A;
},
{
key1 = 1;
key2 = D;
},
{
key1 = 1;
key2 = E;
},
{
key1 = 1;
key2 = C;
}]
当我按key1排序时,3项将在顶部,key1=2字典将在底部。
在整个数组按key1排序后,我想按key2对这3个项目进行排序。基本上我的目标:
[{
key1 = 1;
key2 = C;
},
{
key1 = 1;
key2 = D;
},
{
key1 = 1;
key2 = E;
},
{
key1 = 2;
key2 = A;
}]
这是我按 key1 排序的代码:
sortedArr = [dataDict keysSortedByValueUsingComparator:
^NSComparisonResult(NSDictionary* obj1, NSDictionary* obj2)
{
NSComparisonResult result = NSOrderedSame;
if(obj1["key1"] != nil && obj2["key1"]!=nil)
{
return [obj2["key1"] compare:obj1["key1"]];
}
else
return result;
}];
【问题讨论】:
-
能否请您添加您使用的语言的标签!
-
对不起。我添加了语言。
-
哇,谁在没有正当理由的情况下投了反对票?投反对票的小仙女又回来了?
-
您要对一个字典(代码)进行排序,还是要对一组字典(示例)进行排序?
标签: objective-c arrays sorting dictionary