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

Jack Farr
Jack Farr
7,961 Points

How to make this Tuple work?

Tried let result = greeting(person: "Tom") as well.

Does it have something to do with the function and the variable being required to have the same name?

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

    return (language, greeting)
}

let (language, hello) = greeting("Tom")
let result = greeting("Tom")

1 Answer

Hi Jack, I used a Tuple before... best way is to show you my example...

let colors = getColors(dataModel.nonLocalisedName)
dataModel.lightColor = colors.light
dataModel.darkColor = colors.dark
dataModel.fadedColor = colors.faded

So for your example above try the below (I've set a let for each but you can call it directly if needed).

let theGreeting = greeting("Tom")
let language = theGreeting.language
let theActualGreeting = theGreeting.greeting

// or you can call it directly
print("Language is \(theGreeting.language)")

Hope it works for you.

Vincent