比较:选项:如何在数字前对符号进行排序?

时间:2012-06-13 07:50:29

标签: objective-c cocoa

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

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

然而,数字比符号更早:

99
[Hello
Hello

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

1 个答案:

答案 0 :(得分:0)

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

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

NSArray* sortedArray = [originalArray sortedArrayUsingComparator:sortBlock];

查看Apple开发者网站上的Getting Started with Blocks