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 and their Methods Initializer

Joseph Kandi
Joseph Kandi
2,640 Points

I am not sure why my answer is not accepter, i did add an init() { self = Quarter } method. Works fine in Playground

I am not sure why this doesnt work here but works fine in Xcode Playground

enum.swift
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
    }
}

3 Answers

Andrew Shook
Andrew Shook
31,709 Points

The reason your code isn't passing is because you are setting self to a variable "Quarter" and not the property Quarter. In order to set self to the property of Quarter you need to put a "." in front of it.

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
    }
}
Joseph Kandi
Joseph Kandi
2,640 Points

Thanks makes sense, but why would this works in Xcode Playgrounds?

Andrew Shook
Andrew Shook
31,709 Points

It might have to do with the way Xcode interprets the code and the Code Challenge interprets the code. The Code Challenge may have a stricter standard.

Joseph Kandi
Joseph Kandi
2,640 Points

Oh yes, thank you, you are a star, where do i give you kudos