objective-c - 如何按字母顺序对 NSArray 进行排序?

标签 objective-c sorting

如何将填充有 [UIFont familyNames] 的数组按字母顺序排序?

最佳答案

最简单的方法是,提供一个排序选择器(Apple's documentation 了解详情)

Objective-C

sortedArray = [anArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

swift

let descriptor: NSSortDescriptor = NSSortDescriptor(key: "YourKey", ascending: true, selector: "localizedCaseInsensitiveCompare:")
let sortedResults: NSArray = temparray.sortedArrayUsingDescriptors([descriptor])

Apple 提供了几个用于字母排序的选择器:

  • 比较:
  • caseInsensitiveCompare:
  • localizedCompare:
  • localizedCaseInsensitiveCompare:
  • localizedStandardCompare:

swift

var students = ["Kofi", "Abena", "Peter", "Kweku", "Akosua"]
students.sort()
print(students)
// Prints "["Abena", "Akosua", "Kofi", "Kweku", "Peter"]"

Reference

关于objective-c - 如何按字母顺序对 NSArray 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351182/

相关文章:

javascript - 优化从另一个数组对一个数组进行排序

javascript - jQuery javascript 自定义排序程序在 Firefox 中有效,但 IE 似乎无法获取它...(复制粘贴示例代码)

sql - 先排序再分组,反之亦然 : which is faster?

objective-c - 在 Objective C 中加载表单时将光标焦点设置在 TextField 上

iphone - 从 ALAssetRepresentation 设置 CGImageRef 的最大尺寸

c# - 通过一个排序变量对各种对象的数据结构进行排序的最佳方法?

c++ - 尝试按任何类成员对对象 vector 进行排序

ios - 如何从我们的 View 中删除 AVPlayerViewController?

iphone - 必须在 CGContextBeginPath 之后调用 CGContextClosePath 吗?

ios - 使用 WatchOS App 时未调用 viewDidLoad