Swift version: 5.10
“Enum” is short for “enumeration”, and it’s a way of letting you use fixed names for special values rather than relying on strings or integers.
For example, if we wanted to track how happy a user was, you could use a number scale where -1 meant unhappy, +1 meant happy, and 0 meant they were in between, but then the onus is on you to remember what those numbers mean. A better idea is to use an enum like this one:
enum Satisfaction {
case unhappy
case meh
case happy
}
Those cases can now be referenced as Satisfaction.happy
, so it’s clear what you mean – and internally it’s treated no different from an integer, so it has no performance impact.
We can create a Person
struct using that new enum, like this:
struct Person {
var name: String
var satisfaction: Satisfaction
}
Because Swift knows the satisfaction
property must be a value from the Satisfaction
enum we can just specify the case we want to use when creating a value:
let person = Person(name: "Taylor", satisfaction: .happy)
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.