基本上我有NSMutableArray
,其中包含多个NSDictionaries
。我希望根据每个NSDictionaries
中出现的一个数值对此数组进行排序。
例如,如果这些都是NSDictionaries
:
dict_1
{
some_val, @"blah"
some_other_val, 135
}
dict_2
{
some_val, @"blah"
some_other_val, 10
}
dict_3
{
some_val, @"blah"
some_other_val, 35
}
然后我想根据"some_other_val"
的值对它们进行排序。我试图使用排序描述符来做到这一点,但是我向我提供了错误的结果。这是我用来对数组进行排序的代码:
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"some_other_val" ascending:NO];
[myArray sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
正如我所提到的,这并没有提供我期望看到的结果。以下是排序结果:
Before:
135
10
35
After:
35
135
10
据我所知,它只是试图将值排序,就好像它们是字符串一样。我在网上看了看是否能找到问题的解决方案,但是我有点死路一条。
请有人可以提供一些建议吗?
答案 0 :(得分:2)
为什么不使用sortUsingFunction:context:
或sortUsingComparator
等其他方法之一:?
答案 1 :(得分:2)
我认为有几种形式可以做到,第一种选择:
我认为如果你将some_other_val作为NSNumber添加到字典中,你可以得到你想要的结果,而不需要改变其余部分。
我会找其他人。