Discover CaseIterable
You’re more of a video kind of person? I’ve got you covered! Here’s a video with the same content than this article 🍿
Have you ever heard of the protocol CaseIterable?
When you use enums, this protocol can be very useful!
Let’s take the example of this simple enum:
If we make this enum conform to the protocol CaseIterable, then the compiler will automatically generate a static property called allCases, which is an array that contains all the cases of the enum:
That’s pretty a cool addition which can be very useful, typically to write tests that cover each possible case!
That’s all for this article, I hope you’ve enjoyed it!
Here’s the code if you want to experiment with it:
import Foundation
enum Direction: CaseIterable {
case north
case south
case east
case west
}
Direction.allCases // [.north, .south, .east, .west]