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

Help With Code Challenge. My Code is flawless... I think.

This is my task: Add an init method to the enum Coin and within it initialize the value to a Quarter.

Here is my code:

enum Coin: Int {
    case Penny = 1, Nickel = 5, Dime = 10, Quarter = 25 

    init() {
      self = Quarter 
    }

    func isGreater(currentValue: Coin, newValue: Coin) -> Bool {
        return currentValue.rawValue > newValue.rawValue
    }
}

This is for the course: Enums and Their Methods.

For some reason I am getting this error message: Add an init method to the enum Coin and within it initialize the value to a Quarter.

Any help would be appreciated.

Thanks.

2 Answers

Almost there, you're missing a .

Try;

 self = .Quarter
Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

To add to why Ben's answer is right, you access enum values using the dot notation like any swift property: Coin.Quarter. Omitting the Coin portion and just using .Quarter is a convenience accessor since Swift knows you're referring to the Coin enum here.

Thanks Guys.