Swift enums are unusually powerful—raw values, associated values, and methods make them sum types comparable to sealed classes in Kotlin or discriminated unions in Rust.
Basic and raw-value enums
enum Direction { case north, south, east, west }
enum Planet: Int {
case mercury = 1, venus, earth
}
Associated values
enum Result {
case success(String)
case failure(code: Int, message: String)
}
Important interview questions and answers
- Q: Enum vs struct?
A: Enums model fixed alternatives with optional payloads; structs model structured data with fields. - Q: CaseIterable?
A: Protocol auto-synthesizesallCasesfor enums without associated values—handy for pickers.
Self-check
- What are associated values?
- Can enums have methods?
Tip: Associated values make enums sum types—similar to sealed classes in Kotlin.
Interview prep
- Associated values?
Each case can carry typed payloads—sum types.
- Enum methods?
Yes—enums can include methods and protocol conformance.