0

长话短说,不久前我开始使用 uitableview。我终于把所有东西都搞定了,除了正确的排序。

我可以按升序和降序排序,但不能按数字排序

有人告诉我,我需要使用 nsdictionary 或 nsnumber 并比较结果以正确排序

换句话说,我有 nsmutablearray numberArray... 它以字符串格式添加数字,因此数字 25、32、15 和 3 将在视图中显示为 32、3、25 和 15。

我已经看了几个小时,用不同的代码进行了几个小时的测试,这样的尼克斯得到了任何结果......有人可以指导我吗?

4

1 回答 1

0

您需要对字符串的“intValue”进行排序:

NSMutableArray *toBeSorted = [NSMutableArray array];
...add stuff to the array...
NSSortDescriptor *mySorter = [[[NSSortDescriptor alloc] initWithKey:@"intValue" ascending:YES] autorelease];
[toBeSorted sortUsingDescriptors:[NSArray arrayWithObject:mySorter]];

因此,虽然上述方法可行,但 tc 建议使用:

toBeSorted = [toBeSorted sortedArrayUsingSelector:@selector(localizedStandardCompare:)];

是一个更优雅的解决方案。

于 2013-02-21T01:20:25.850 回答