我有一个包含以下值的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没有正确定位,但其他一切都很好。那么是什么让这个价值如此特殊,为什么它打破了本地化的标准比较?
谢谢!