Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Swift Enums and Structs Enums Enum Members and Raw Values

Munir Niaz
Munir Niaz
1,831 Points

Create a variable called turtleSpeed and assign it the Raw value of the member Slow.

Create a variable called turtleSpeed and assign it the Raw value of the member Slow.

enum.swift
enum Speed: Int{
    case Slow = 10, Medium = 50, Fast = 100
}

 let turtleSpeed = Speed(rawValue:10)

1 Answer

Martin Wildfeuer
PLUS
Martin Wildfeuer
Courses Plus Student 11,071 Points

Your code inits a Speed enum with a raw value of 10, which results in Speed.Slow. Therefore

 let turtleSpeed = Speed(rawValue:10)

is equivalent to

// Please note that initializing an enum with a
// raw value returns an optional, as the corresponding
// enum member might not exist, e.g. Speed(rawValue:11)
let turtleSpeed: Speed? = Speed.Slow // .Slow

The solution for this assignment basically asks you to do it the other way round, that is assigning the raw value of the enum member Slow to the constant turtleSpeed as follows

let turtleSpeed = Speed.Slow.rawValue

This is equivalent to

let turtleSpeed: Int = 10

Hope that helps :)