我有一个字典数组..这就是我的字典看起来像
MOD = 0;
MAU= 30;
MODN = "SOME WORD";
MODID = 518;
我试过像这样排序字典数组
sortedArray = [[ICArray valueForKey:@"MODN"] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
然而,这只是按字母顺序给我一个MODN值的数组......实际上我希望将每个字典分成一个数组。
任何帮助将不胜感激..
答案 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"]];
}];