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

Aman Desai
Aman Desai
810 Points

Why am I getting the error "error: use of unresolved identifier 'latLong' return latLong" in my code?

What should I do to correct this?

functions.swift
func coordinates(for location: String) -> (Double, Double){

    let landmarks:[String:(Double, Double)]=["Eiffel Tower":(48.8582, 2.2945), "Great Pyramid":(29.9792, 31.1344), "Sydney Opera House":(33.8587, 151.2140) ]

    switch location {
    case "Eiffel Tower": var latLong = landmarks[location]
    case "Great Pyramid": var latLong = landmarks[location]
    case "Eiffel Tower": var latLong = landmarks[location]
    default: var latLong = (0.0,0.0)
    }

    return latLong
}

1 Answer

tromben98
tromben98
13,273 Points

Hi, every time you have finished a challenge make sure you look through you code to avoid simple misstakes. For example you have written Eiffel Tower twice. Anyway you don't need to create the landmarks array you can just return the coordinates directly.

Here is the solution:

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,0.0)
    }
}
Aman Desai
Aman Desai
810 Points

Thank you so much!