我对排序数组有疑问。
sortedArrayUsingDescriptors
使用哪种方法?
冒泡或快速排序等等?
或者是另一种算法?
有人能帮助我吗?
答案 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]];
NSSortDescriptor API没有指定算法(甚至像几乎所有Cocoa API一样,都是Big-O复杂性保证)。您应该假设使用的排序算法是实现细节。但是,您可能还应该假设在运行时选择使用的算法以获得最佳性能。除非你对时间或内存复杂性有严格的要求,否则你应该使用公共API,让Apple的框架作者担心细节。
如果您有复杂性要求,您可能会发现CHDataStructures框架有助于编写您自己的收集/排序实现。