如何在 swift 中不区分大小写地对字典数组进行排序

how to sort array of dictionary by case insensitive in swift

我有以下代码按字母升序对字典数组进行排序。但是我在大写字母之后得到了排序的小写字母键值。前任。如果键具有 "Jast"、"rat"、"Put"、"put"、"Avi"、"Que" 等值。我得到了 "Avi"、"Jast"、"Put"、"Que"、"put"、"rat" 之类的未排序的输出。我使用了以下代码

let sortedArray = ( 
   episode_ParticipantList as NSArray
).sortedArrayUsingDescriptors(
 [NSSortDescriptor(key: "FirstName", ascending: true)])
 as!
 [[String:AnyObject]] 

怎么样:

let sortedArray = episode_ParticipantList.sort{
    [=10=]["FirstName"]?.lowercaseString < ["FirstName"]?.lowercaseString
}

这可能会更快,但您需要测试一下:

import Foundation

let sortedArray = episode_ParticipantList.sort{
    [=11=]["FirstName"]!.caseInsensitiveCompare(["FirstName"]!) == .OrderedAscending
}

IN SWIFT 4

responseData = responseData.sorted { ([=10=]["firstname"] as! String).localizedCaseInsensitiveCompare(["firstname"] as! String) == ComparisonResult.orderedAscending }