我有一个NSMutableDictionary
,其中包含如下信息:
Key="Blue" Value=@[@1, @33]
Key="Red" Value=@[@5, @33]
Key="Green" Value=@[@4, @33]
Key="Pink" Value=@[@2, @33]
Key="Purple" Value=@[@3, @33]
我希望得到一个键数组,按照Value数组中的第一个对象排序。所以在我上面的例子中,我想要一个具有这种排序的数组:
蓝色,粉色,紫色,绿色,红色
知道怎么做吗?
答案 0 :(得分:4)
使用keysSortedByValueUsingComparator
NSDictionary *dict =
@{
@"Blue": @[ @1, @33 ],
@"Red": @[ @5, @33 ],
@"Green": @[ @4, @33 ],
@"Pink": @[ @2, @33 ],
@"Purple": @[ @3, @33 ]
};
NSArray *sorted = [dict keysSortedByValueUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[obj1 firstObject] compare:[obj2 firstObject]];
}];
NSLog(@"%@", sorted);
输出:
2014-10-28 23:37:34.267 Temp[62789:3909211] (
Blue,
Pink,
Purple,
Green,
Red
)