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 Enumerations and Optionals in Swift Introduction to Enumerations Enum Methods

Alex Busu
PLUS
Alex Busu
Courses Plus Student 11,819 Points

I honestly don't understand what you want me to do

I understand that I'm supposed to create a function button to return a UIBarButtonItem but the rest makes no sense to me.

buttons.swift
// Example of UIBarButtonItem instance
// let someButton = UIBarButtonItem(title: "A Title", style: .plain, target: nil, action: nil)

enum BarButton {
    case done(title: String)
    case edit(title: String)

    func button() -> UIBarButtonItem {
      let someButton = UIBarButtonItem(title: "A Title", style: .plain, target: nil, action: nil)
      return someButton
    }
}

let done = BarButton.done(title: "Save")

2 Answers

nickyp
nickyp
2,140 Points

Below is the correct answer to that challenge

// Example of UIBarButtonItem instance
// let someButton = UIBarButtonItem(title: "A Title", style: .plain, target: nil, action: nil)

enum BarButton {
    case done(title: String)
    case edit(title: String)
}

let done = BarButton.done(title: "Save")

The challenge asks you to "Declare a constant named done and assign an enum value of type BarButton with the member done. This member takes an associated value; assign it the string "Save"."

Essentially, they ask you to create a new constant named "done ". Then they say that you have to assign the case "done" of an numeration called "BarButton" to that constant (done). Lastly, you assign that case the string "Save"

Hope this helps!

Alex Busu
Alex Busu
Courses Plus Student 11,819 Points

Thats the answer to the first part of the challenge. What's the answer to the second part of the challenge?

I don't get it too... Why do we use switch here?