Swift version: 5.10
Regular sorting on comparable data is as easy as calling the sort() method, but if you want a reverse sort – e.g. highest to lowest numbers, or Z-A alphabetically – there are two options.
The first is to run a regular sort, reverse that sort, then convert the result to an array. For example:
let numbers = [100, 5, 53, 98, 29]
let reversed1 = Array(numbers.sorted().reversed())
The second option is to provide a custom closure to the sorted() method that sorts the opposite way to the default, like this:
let reversed2 = numbers.sorted { $0 > $1 }
Both of those will result in the array 100, 98, 53, 29, 5.
SAVE 50% All our books and bundles are half price for Black Friday, so you can take your Swift knowledge further for less! Get my all-new book Everything but the Code to make more money with apps, get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn Swift Testing, design patterns, and more.
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.