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

Eddie Aguilar
Eddie Aguilar
2,228 Points

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)