当我在块中返回NSOrderedSame时,sortedArrayUsingComparator方法怎么办?

时间:2016-01-15 09:39:23

标签: ios objective-c nsarray

让我们看看代码:

NSArray *array = @[@1,@3,@2,@5, @6];
NSArray *array2 = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
return NSOrderedSame;
}];  

我知道return NSOrderedAscendingreturn NSOrderedDescending的使用情况。但如果我在块中写return NSOrderedSame,那么这两个项的顺序是否会被更改。

2 个答案:

答案 0 :(得分:2)

它会说“哦,这很酷”,它将移动到下一对而不移动当前对并在阵列出现时快速完成排序。

当然,它实际上并没有因为你撒谎而被分类:

  

垃圾进入,垃​​圾出口

答案 1 :(得分:0)

如果您想知道在NSArray中使用哪种排序算法,您可以转到这个问题:What sort function is used in NSArray?

如果在排序块中返回NSOrderedSame,则阵列将不会对所有算法执行任何操作。 :)