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 Getting Started with iOS Development Swift Recap Part 2

Mark Cai
Mark Cai
1,505 Points

'_' does not make sense

the move functions with argument '' direction makes no sense. What does '' suppose to do? Some external variable argument?

If I remove '_' from the argument and use just 'direction' the program runs OK.

robots.swift
class Point {
  var x: Int
  var y: Int

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

class Machine {
  var location: Point

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

  func move(_ direction: String) {
    print("Do nothing! I'm a machine!")
  }
}

// Enter your code below

class Robot: Machine {

    override init() {
        super.init()
    }

    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
        }
    }

}

2 Answers

Christian Mangeng
Christian Mangeng
15,970 Points

Hi Mark,

it runs perfectly. Try to restart the challenge and copy/paste the code you attached.

This will explain it fully for you:

https://useyourloaf.com/blog/swift-named-parameters/

Mark Cai
Mark Cai
1,505 Points

So why does my code not run?

thanks for the link.