如何排序字典数组

时间:2012-11-02 01:16:50

标签: ios nsarray nsdictionary

  

可能重复:
  How can I sort an NSArray containing NSDictionaries?

我有一个字典数组..这就是我的字典看起来像

MOD = 0;
MAU= 30;
MODN = "SOME WORD";
MODID = 518;

我试过像这样排序字典数组

sortedArray = [[ICArray valueForKey:@"MODN"] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

然而,这只是按字母顺序给我一个MODN值的数组......实际上我希望将每个字典分成一个数组。

任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:0)

您可以使用基于自定义块的比较器来查看每个词典中的值,并根据需要进行排序。像下面这样的东西应该适合你

NSArray *unsortedArray = @[@{@"MOD" : @(0), @"MAU" : @(30), @"MODN" : @"SOME WORD", @"MODID" : @(518)},
                           @{@"MOD" : @(0), @"MAU" : @(30), @"MODN" : @"ANOTHER WORD", @"MODID" : @(518)},
                           @{@"MOD" : @(0), @"MAU" : @(30), @"MODN" : @"THIRD WORD", @"MODID" : @(518)}];

NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id obj1, id obj2) {
  return [[obj1 valueForKey:@"MODN"] localizedCaseInsensitiveCompare:[obj2 valueForKey:@"MODN"]];
}];