Enumerations (enums) are a powerful feature in Swift that allows you to define a group of related values. They provide a convenient way to represent a finite set of possibilities.
To define an enum in Swift, you can use the enum keyword followed by the name of the enumeration. You can then list the possible values inside curly braces.
enum Direction {
case north
case south
case east
case west
}
In this example, we define an enum called Direction with four possible values: north, south, east, and west.
Once you have defined an enum, you can use its values in your code. You can assign a value of the enum to a variable or a constant, and then perform operations based on that value.
let myDirection = Direction.north
switch myDirection {
case .north:
print("Heading north")
case .south:
print("Heading south")
case .east:
print("Heading east")
case .west:
print("Heading west")
}
In this example, we assign the value Direction.north to the constant myDirection. We then use a switch statement to check the value of myDirection and print the corresponding message based on the direction.
Enumerations in Swift can also have associated values. This means that each case of the enum can hold additional values of various types.
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(8, 85909, 51226, 3)
switch productBarcode {
case .upc(let numberSystem, let manufacturer, let product, let check):
print("UPC: \(numberSystem), \(manufacturer), \(product), \(check)")
case .qrCode(let code):
print("QR code: \(code)")
}
In this example, we define an enum called Barcode with two cases: upc and qrCode. The upc case holds four integer values, while the qrCode case holds a single string value. We create a variable called productBarcode and assign an upc barcode to it. We then use a switch statement to extract and print the values from the associated values.
Enumerations in Swift provide a useful way to define a group of related values. They allow you to represent a finite set of possibilities and can have associated values for additional flexibility.
Postsubject: Enumerations