秩序的NSArray - 目标C
问题描述:
我有字典的一个数组,看起来像这样秩序的NSArray - 目标C
({order:1; name:foo},{order:0; name:bar}...)
而且我想通过密钥“订单”来订购此NSArray
字典。
我知道我将不得不循环它,然后将其添加到一个新的数组,但林不知道如何设置它?
感谢您的帮助
答
有几种可能的方式来做到这一点。
这里有一个:
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];
}];