NSArray排序问题,首字母缩略词优先排序



我有一个NSArray,我想按字母顺序排序,目前我正在使用sortedArrayUsingSelector:@selector (localizedCaseInsensitiveCompare:)。这将返回

CAA
CBL
CCC
Cab
Car
Cat

首字母缩略词按字母顺序排列,然后依次排列。我应该用什么来排序,以便首字母缩略词与常规单词一起排序?在苹果的文档中似乎找不到答案。

book = [[self.sections valueForKey:[[[self.sections allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row]

您可以使用

- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr

并为所需行为创建NSComparator。

像这样:

NSarray *sortedArray = [myArray sortedArrayUsingComparator:^(id obj1, id obj2) {
  //Decide in the order
  if (yourCondition)
  {
  return NSOrderedSame
  }
}];

相关内容

最新更新