Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Kevin Lozandier
Kevin Lozandier
Courses Plus Student 53,747 Points


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.