iOS Functions in Swift Adding Power to Functions Returning Complex Values

Eddie Aguilar
Eddie Aguilar
2,228 Points

Could not figure out how to move forward from this.

Can i ask someone to explain to me what i am doing wrong as they write out the proper way to write it?

functions.swift
// Enter your code below

func coordinates (for location: String) -> (Double,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 (0,0)
}
Brian Blanco
Brian Blanco
11,844 Points

Hey Eddie,

You have the gist of it your just missing some small things

// Your declaration of the function is perfect
func coordinates(for location: String) -> (Double, Double) {
     //Using a switch is a great way to solve this challenge
    switch location {
        case "Eiffel Tower": 
         // You were just missing the return statement and parenthesis to make this a tuple
        return (48.8582, 2.2945)
        case "Great Pyramid":  return (29.9792, 31.1344)
        case "Sydney Opera House": return (33.8587, 151.2140) 
        default: 
        // We break out of the switch if none of the cases match
        break 
        }
    // If none of the cases match we return (0, 0)
    return (0,0)
}

1 Answer

Arman Arutyunov
Arman Arutyunov
21,900 Points

Hello. The problem in your code is that you always return a tuple (0,0). In the challenge you are asked to return the exact geolocation of the building that was passed as the parameter. So you can put your return statement at every line of switch cases (even the default: so if the location parameter is not matching with your switch cases it will just return (0,0)

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) 
    }
}

Hope it helps!