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 Functions in Swift Adding Power to Functions Returning Complex Values

Trying to cruise through this. Not a fan of these do-it-yourself problems. =(

What have I done wrong here?

// Enter your code below
func coordinates: String(for location: Double) {
coordinates = (Eiffel Tower: 48.8582, 2.2945, Great Pyramid: 29.9792, 32.1344, Sydney Opera House: 33.8587, 151.2140)

1 Answer

I am fairly new to learning this myself but I do see what the error is, so hopefully I can help.

To begin with, the very beginning is written correctly, but the rest is not written correctly. The beginning should have a syntax as follows --> func coordinates (for location: String) <--- this declares a function, names that function coordinates and then the following says, for is the EXTERNAL name and location is the LOCAL name, then you declare the this (for location) statement is a string by typing : String. You then need to assure that you are returning the proper value, by doing as follows --> (Double, Double) <-- this says that both values that will be returned will be Double values. A big reason this will not work is because you have not added a switch statement, which will essentially tell the compiler to go through the following. I have written the correct way to write it below but i do not recommend you copy and paste it. Take your time and go back through the videos, its a fairly simple function, you just need to take your time and break it down. This adding of a switch statement into a function will come up in a few lessons so again don't just copy and paste. make sure you understand completely.

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)