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 2.0 Functions Function Parameters Returning Complex Values

Paul Oh
Paul Oh
763 Points

I am trying to return 2 double values by entering a string in a function.

What needs to be in the return portion of the code to receive 2 double values as the output?

functions.swift
// Enter your code below
func getTowerCoordinates (location: String) -> (lat: Double, lon: Double) {
switch location {
  case "Eiffel Tower": (48.8582, 2.2945)
  case "Great Pyramid": (29.9792, 31.1344)
  case "Sydney Opera House": (33.8587, 151.2140)
  default: (0,0)
  }
  return (lat, lon)
  }

1 Answer

Christin Lepson
Christin Lepson
24,269 Points

You were very close. First thing, you need to delete the space between the getTowerCoordinate function name and the (location: String). Second, you need to delete the names lat and lon. The way you wrote it is actually good, but for some reason the question doesn't want us to name the return values in this function. Lastly, you put 'return' in the wrong spots. Since we want to return the double values as a tuple, we put the return keyword in front of the tuples in our switch. The code should look like this:

func getTowerCoordinates(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)
  }
}
Paul Oh
Paul Oh
763 Points

Thank you Christian! your explanations were really great!