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

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

What have I done wrong here?

functions.swift
// 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)
    }
}