Ios 按NSNumber值对NSDictionary键进行排序

Ios 按NSNumber值对NSDictionary键进行排序,ios,objective-c,sorting,nsdictionary,Ios,Objective C,Sorting,Nsdictionary,我有一些类似这样的词典: @{ @"some key":{ @"notImportantKey":@"asdasda", @"weight":@1 }, @"some key 2":{ @"notImportantKey":@"asdasda", @"weight":@2 }, @"some key 3":{ @"notImportantKey":@"asdasda", @"weight":@3 }, @"some key 4":{ @"n

我有一些类似这样的词典:

@{
@"some key":{
    @"notImportantKey":@"asdasda",
    @"weight":@1
},
@"some key 2":{
    @"notImportantKey":@"asdasda",
    @"weight":@2
},
@"some key 3":{
    @"notImportantKey":@"asdasda",
    @"weight":@3
},
@"some key 4":{
    @"notImportantKey":@"asdasda",
    @"weight":@4
}}

我需要一组键(一些键,一些键2,…),按权重值排序。

这就是使用Comparator:的
KeysSortedByValue的作用。它比较字典中的值,并给出使用这些值对键进行排序时键的顺序。例如:

[yourDictionary keysSortedByValueUsingComparator:^(NSDictionary *a, NSDictionary *b) {
    return [a[@"weight"] compare:b[@"weight"]];
}];

这就是使用Comparator:
键SortedByValue的作用。它比较字典中的值,并给出使用这些值对键进行排序时键的顺序。例如:

[yourDictionary keysSortedByValueUsingComparator:^(NSDictionary *a, NSDictionary *b) {
    return [a[@"weight"] compare:b[@"weight"]];
}];

好的,我在NSDictionary中有输入错误:)现在有4个不同的键。我不想订购nsdictionary,我只需要将所有密钥放入NSArray,按重量排序。编辑得好,删除了下一票。@nhgrif为什么要下一票?:(因为是最初写的,所以很糟糕。您的编辑改进了问题,因此我删除了否决票。我对删除否决票发表了评论,以鼓励其他否决票的人也删除他们的否决票。感谢各位快速正确的回答:)好的,我在NSDictionary中有错:)现在有4个不同的键。我不想订购nsdictionary,我只需要将所有密钥放入NSArray,按重量排序。编辑得好,删除了下一票。@nhgrif为什么要下一票?:(因为是最初写的,所以很糟糕。您的编辑改进了问题,因此我删除了否决票。我对删除否决票发表了评论,以鼓励其他否决票选民也删除他们的否决票。感谢各位快速正确的回答:)酷。我不知道使用Comparator:方法的
KeysSortedByValue。我想我对Cocoa的容器类非常了解…很酷。我不知道使用Comparator:
方法的
KeysSortedByValue。我想我非常了解Cocoa的容器类。。。