【发布时间】:2012-03-20 17:38:29
【问题描述】:
基本上我有一个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
据我所知,它只是试图对值进行排序,就好像它们是字符串一样。我在网上浏览了一下,看看我是否能找到解决问题的方法,但是我有点死胡同了。
请问有人可以提供一些建议吗?
【问题讨论】:
-
您可以随意更改“some_other_val”的类型吗?
-
我不确定我是否完全理解您的意思,但是如果需要,我可以对 NSDictionary 进行更改。
标签: objective-c sorting nsmutablearray nsdictionary nssortdescriptor