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

CAA
CBL
CCC
Cab
Car
Cat

首字母缩写词按字母顺序排列,然后依次排列。我将使用什么进行排序,以便将首字母缩写词与常规单词一起进行排序?似乎无法在Apple的文档中找到答案。
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
  }
}];

09-25 18:45
查看更多