Enum III
Cases with parameters.
Enum III
Cases with parameters.
0
0
Checkbox to mark video as read
Mark as read

Cases with Parameters

We can add parameters to each case of an enum. Imagine we have an enum of type Color with two options, rgb and hex. We can include parameters for each option by defining the name and type of each.

enum Color {
    case rgb(r: Int, g: Int, b: Int)
    case hex(code: String)
}

This way, when we create an enum of type Color, we can assign the values that define the color.

let colorOne = Color.rgb(r: 24, g: 123, b: 250)
let colorTwo = Color.hex(code: "#EA4F12")

When using our enum in a switch, we will have access to these parameters.

switch colorOne {

    case .rgb(let r, let g, let b):
        print("RGB Color: \(r), \(g), \(b)")

    case .hex(let code):
        print("HEX Color: \(code)")
}

// Console output: RGB Color: 24, 123, 250

if case

If we want to check the value of a specific case without using a full switch statement, we can use an if statement like this:

if case .rgb(let r, let g, let b) = colorOne {
    print("RGB Color: \(r), \(g), \(b)")
}

course

Quiz Time!

0 Comments

Join the community to comment
Sign Up
I have an account
Be the first to comment

Accept Cookies

We use cookies to collect and analyze information on site performance and usage, in order to provide you with better service.

Check our Privacy Policy