我有一个包含以下值的 NSSet:
{0.5, 0.01, 0.05, 5, 1, 0.25, 25, 10, 100}
我想使用 NSSortDescriptor 将此集合的内容排序为从低到高的数字数组。当然,以免呈现以下内容......:
{0.01, 0.05, 0.25, 0.5, 1, 10, 100, 25, 5}
...我必须使用 NSSortDescriptor 实例的 @selector(localizedStandardCompare:) 属性。
以下是我的代码:
NSMutableArray *valuesArray = [[NSMutableArray alloc] initWithArray:[valuesSet allObjects]];
NSSortDescriptor *sortedOrderSpecifier = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES selector:@selector(localizedStandardCompare:)];
[valuesArray sortUsingDescriptors:[NSArray arrayWithObject:sortedOrderSpecifier]];
return valuesArray;
但是 - 这里的输出也是错误的,但只是勉强!有点奇怪:
{0.01, 0.5 , 0.05, 0.25, 1, 5, 10, 25, 100}
正如我在上面加粗的,你可以看到 0.5 没有正确定位,但其他一切都很好。那么是什么让这个值如此特别,为什么它会破坏localizedStandardCompare?
谢谢!