iphone - 按降序对 NSArray 进行排序

标签 iphone objective-c cocoa

我有一个 NSArrayNSNumber 对象,我已经使用以下方法成功地按升序排序:

[myArray sortedArrayUsingSelector:@selector(compare:)]

但是,我需要按降序 顺序对其进行排序。我认为 compare: 仅按升序排序。虽然我可以着手反转 NSArray,但我很好奇是否有更简单或更有效的方法来执行此操作。

编辑:我找到了this question它提供了一种反向迭代 NSArray 的简单方法:

for (id someObject in [myArray reverseObjectEnumerator])

这很好用,我想这是一个很好的简单解决方案,但我很好奇是否有一种方法可以指定按降序排序。

最佳答案

使用排序描述符

NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" 
                                                            ascending: NO];
return [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];

关于iphone - 按降序对 NSArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402667/

相关文章:

ios - xcode 7 - image.xcassets 中缺少对 Retina 4 的支持

iphone - 如何在iPhone中制作很长的动画?

cocoa - 核心数据搜索优化

cocoa - Swift - 选择文件时发出警告(Cocoa)

iphone - 流媒体音频彩信 ://to the iPhone

ios - swift 2.0 中的 MKMapItem 错误

php - AFNetworking multipart/form-data POST 发送不正确的 JSON 字典数组

objective-c - Xcode 的第一步 - TableView 问题

objective-c - 选择器 OpenDevice 的未知类方法

objective-c - 如何使用 Core Graphics - Mac 绘制三角形?