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 Enums and Objects

John Wilcox
John Wilcox
4,233 Points

+= operator instead?

Hello,

Within the body of the switch statement, instead of location.y = location.y + 1, couldn't I have said location.y += 1? I tried but it wouldn't compile :-(

PS - LOVE the courses!

2 Answers

David Papandrew
David Papandrew
8,386 Points

Can you share the code that is failing?

I was able to pass with this:

class Point {
    var x: Int
    var y: Int

    init(x: Int, y: Int) {
        self.x = x
        self.y = y
    }
}

enum Direction {
    case left
    case right
    case up
    case down
}

class Robot {
    var location: Point

    init() {
        self.location = Point(x: 0, y: 0)
    }

    func move(_ direction: Direction) {
        // Enter your code below
        switch direction {
        case .left: self.location.x -= 1
        case .right: self.location.x += 1
        case .up: self.location.y += 1
        case .down: self.location.y -= 1
        }
    }
}
John Wilcox
John Wilcox
4,233 Points

Hi, I did the same thing as you, but didn't say 'self.location.x -= 1'.

I just said case .left: location.x -= 1.

I'm not sure what I ultimately ended up typing. The compiler did eventually accept my answer.

I'll just watch for it in the future. Thank you David for responding :-)

Jack