0

我目前正在使用此比较选项对字符串列表进行排序:

 [self compare:aString options:NSNumericSearch|NSCaseInsensitiveSearch];

但是,数字在符号之前:

99
[Hello
Hello

有没有办法在数字之前对符号进行排序?谢谢

4

1 回答 1

0

并非所有符号都出现在 ASCII 表中的数字之前,这就是您注意到'['. 假设self在您的示例中是NSArray,您将需要使用该sortedArrayUsingComparator:方法并实现自定义排序器。(除此之外的其他类NSArray也将具有此方法。)

NSComparator sortBlock = ^(id string1, id string2)
{
    // Fill this in
};

NSArray* sortedArray = [originalArray sortedArrayUsingComparator:sortBlock];

查看Apple 开发者网站上的Blocks 入门。

于 2012-06-13T08:01:07.130 回答