1

我有一个包含以下值的 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?

谢谢!

4

0 回答 0