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 Build a Simple iPhone App with Swift 2.0 Getting Started with iOS Development Swift Recap Part 2

dot notation incorrect?

hey guys, sorry, having problems attaching my code for whatever reason. checking the box isnt working, so i've attached the last part of the problem where i suspect the problem lies. getting no usable errors. im guessing my "location.y-1" part is the wrong way to add or subtract from the coordinates in Point?

class Robot: Machine {
    override func move(direction: String) {
        switch direction {
          case "Up" : location.y+1
          case "Down": location.y-1
          case "Left" : location.x-1
          case "Right" : location.x+1
          default: break
        }

1 Answer

HI Andrew,

You're on the right lines with this but you haven't altered the values of x or y.

You've started with the long-hand method, which is fine, You've taken the value at, say, location.x and then added one to that. But you never reassign that value back into location.x.

There's two ways to do this. Sticking with the long-hand method, change your code in this way:

case "Up" : location.y = location.y + 1

That will work for you. Alternatively, you can use the increment and decrement operators like this:

switch direction{
  case "Up" : location.y++
  case "Down" : location.y--
  case "Left" : location.x--
  case "Right" : location.x++
  default : break
}        

I hope that helps.

Steve.