sortedArrayUsingDescriptors方法

时间:2013-06-10 16:06:51

标签: arrays sorting using descriptor

我对排序数组有疑问。

sortedArrayUsingDescriptors使用哪种方法? 冒泡或快速排序等等? 或者是另一种算法? 有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是一个简单的例子:

NSSortDescriptor *country = [[NSSortDescriptor alloc] initWithKey:@"country" ascending:YES];
NSSortDescriptor *city = [[NSSortDescriptor alloc] initWithKey:@"city" ascending:YES];
NSArray *sorted = [bag sortedArrayUsingDescriptors:[NSArray arrayWithObjects: country, city, nil]];
  1. NSSortDescriptor API没有指定算法(甚至像几乎所有Cocoa API一样,都是Big-O复杂性保证)。您应该假设使用的排序算法是实现细节。但是,您可能还应该假设在运行时选择使用的算法以获得最佳性能。除非你对时间或内存复杂性有严格的要求,否则你应该使用公共API,让Apple的框架作者担心细节。

  2. 如果您有复杂性要求,您可能会发现CHDataStructures框架有助于编写您自己的收集/排序实现。