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.
SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.