我目前正在使用此比较选项对字符串列表进行排序:
[self compare:aString options:NSNumericSearch|NSCaseInsensitiveSearch];
然而,数字比符号更早:
99
[Hello
Hello
有没有办法在数字前对符号进行排序? 感谢
答案 0 :(得分:0)
并非所有符号都出现在ASCII表中的数字之前,这就是您注意到'['
的这种行为的原因。假设您的示例中的self
为NSArray
,则您需要使用sortedArrayUsingComparator:
方法并实施自定义排序器。 (除NSArray
之外的其他类也将使用此方法。)
NSComparator sortBlock = ^(id string1, id string2)
{
// Fill this in
};
NSArray* sortedArray = [originalArray sortedArrayUsingComparator:sortBlock];
查看Apple开发者网站上的Getting Started with Blocks。