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

Bekzod Rakhmatov
Bekzod Rakhmatov
7,419 Points

Can someone explain?

What is wrong?

functions.swift
// Enter your code below
func coordinates(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)
    }
}

2 Answers

andren
andren
28,558 Points

The instructions specify that the location parameter should have an external name of for. If you add that like this:

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

Then your code will pass the challenge.

Bekzod Rakhmatov
Bekzod Rakhmatov
7,419 Points

but in xcode it is in red color which means we can not use it as a name that is why i deleted

andren
andren
28,558 Points

for is a keyword in Swift. Keywords generally can't be used as names without being escaped, but parameter names are an exception to that rule. For parameter names anything other than inout, var and let can be used as names.

If you want more info you can read though the official documentation on Swift Keywords.