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 Swift Functions and Optionals Parameters and Tuples Tuples

I don't understand tuples

Please help me with this code!

func greeting(person: String) -> (language: String) {
    let language = "English"
    let greeting = "Hello \(person)"

    return greeting

1 Answer


To be brief, a tuple is a set of multiple variables being returned; with the rules Swift has regarding tuples, you have used the syntax to create a tuple that's labeled, but haven't met Swift's requirement of having that syntax (or rather such two concepts together) valid since your tuple only consists of one value.

As a result, you will get an error that it's a single element using a label that's not necessary or of any value since one value is being returned.

Also, It seems you have confused Swift's compiler regarding the intent of the greeting function: You claim that a variable of the name/label language will be returned by the function, but at the end of your function you have returned greeting.

Michael McKinley: Let me know if you need further clarification on tuples.