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

Jason Martinez
Jason Martinez
554 Points

Help with Tuple question.

I just don't know which way the system wants me to design the tuple. I have written code for two successful versions in xcode, but the online compiler just wont accept anything.

Stone Preston
Stone Preston
42,016 Points

post which task you are on and the code you have tried please

2 Answers

Stone Preston
Stone Preston
42,016 Points

the initial code the challenge gives you is:

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

    return greeting
}

you dont need to change the language and greeting constants. keep them the way they are.

the task states Currently our greeting function only returns a single value. Modify it to return both the greeting and the language as a tuple. Make sure to name each item in the tuple: greeting and language. We will print them out in the next task.

we need to modify the return type and the return value. your return type is almost correct, however you forgot to name the members of the tuple. then you can just return (greeting, language) at the end:

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

    return (greeting, language)
}

for more information on Tuples see the Swift eBook

Jason Martinez
Jason Martinez
554 Points

Yeah I think I definitely nuked it. Thank you very much.

Jason Martinez
Jason Martinez
554 Points
func greeting(person: String) -> (String, String) {
    let source = "English"
    var (greeting, language) = ("Hello \(person)", "\(source)")

    return (greeting, language)
}

Sorry, didn't allow it to post the picture initially, and it wont let me add it.