You can create a function which returns a Bool. Here's a simple example.
let dict1 = ["Name" : "Wanda", "Age" : 32, "Gender" : "Female"] as [String : Any]
let dict2 = ["Name" : "John", "Age" : 25, "Gender" : "Male"] as [String : Any]
let dict3 = ["Name" : "Bob", "Age" : 15, "Gender" : "Male"] as [String : Any]
let dict4 = ["Name" : "Jane", "Age" : 50, "Gender" : "Female"] as [String : Any]
let dict5 = ["Name" : "Bill", "Age" : 75, "Gender" : "Female"] as [String : Any]
var dictArray = [dict5, dict3, dict1, dict4, dict2]
func dictSort(dict1: [String: Any], dict2: [String: Any]) -> Bool {
guard let i0 = dict1["Age"] as? Int,
let i1 = dict2["Age"] as? Int else {return false}
return i0 < i1
}
var sortedArray = dictArray.sorted{dictSort(dict1: $0, dict2: $1)}