【发布时间】:2015-08-21 20:38:47
【问题描述】:
我有一个字典数组,看起来像这样
({order:1; name:foo},{order:0; name:bar}...)
我想通过“order”键订购这个NSArray的字典。
我知道我将不得不循环它,然后将它添加到一个新数组中,但我不太确定如何设置它?
感谢您的帮助
【问题讨论】:
标签: ios objective-c arrays dictionary
我有一个字典数组,看起来像这样
({order:1; name:foo},{order:0; name:bar}...)
我想通过“order”键订购这个NSArray的字典。
我知道我将不得不循环它,然后将它添加到一个新数组中,但我不太确定如何设置它?
感谢您的帮助
【问题讨论】:
标签: ios objective-c arrays dictionary
有几种可能的方法来做到这一点。
这是一个:
NSArray *unsortedArray = ... // your unsorted array of dictionaries
NSSortDescriptor *sortBy = [NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES];
NSArray *sorted = [unsortedArray sortedArrayUsingDescriptors:@[ sortBy ]];
这是另一个:
NSArray *unsortedArray = ... // your unsorted array of dictionaries
NSArray *sorted = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *dic1, NSDictionary *dic2) {
NSNumber *order1 = dic1[@"order"];
NSNumber *order2 = dic2[@"order"];
return [order1 compare:order2];
}];
【讨论】: