Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS Functions in Swift Adding Power to Functions Returning Complex Values

Mika Yamada
Mika Yamada
iOS Development with Swift Techdegree Student 2,060 Points

I cannot get right answer

I am not sure if I am on the right truck. I

functions.swift
// Enter your code below
func coordinates(for location: String) -> (lat: Double, lon: Double) {
  var lat = 0.0
  switch location {
    case "Eiffel Tower": lat = 48.8582
    case "Great Pyramid": lat = 29.9792
    case "Sydney Opera House": lat = 33.8587
    default : lat = 0.0
  }

  var lon = 0.0 
  switch location {
    case "Eiffel Tower": lon = 2.2945
    case "Great Pyramid": lon = 31.1344 
    case "Sydney Opera House": lon = 151.2140
    default : lon = 0.0
  }

  return (lat, lon)
}

1 Answer

Magnus Hållberg
Magnus Hållberg
17,232 Points

You have made it more complicated than needed. First, the contest say that you should return a tuple with two values and that you don't have to name them so remove the names but keep the types. Second, you can return a tuple directly from iside the switch so there is no need for two switches. That also makes the lon and lat variables you have declared unnecessary so remove those as well. With that done you should have something that loks like below.

func coordinates(for location: String) -> (Double, Double) {
  switch location {
    case "Eiffel Tower": return (48.8582, 2.2945)
    case "Great Pyramid": return (29.9792, 31.1344)
    case "Sydney Opera House": return (33.8587, 151.2140)
    default : return (0, 0)
  }
}