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

Tuple issue in Swift!!

Hello. I'm stuck on the challenge 2/3 on the Tuple part of the Swift tutorial. I will post the question and my answer below as well as the error message.

Question

Create a variable named result and assign it the tuple returned from function greeting. (Note: pass the string "Tom" to the greeting function.)

Answer

func greeting(name:String) -> (language: String, greeting: String) {

let language = "English" let greeting = "Hello " + name + "!" return (language, greeting) } var result = greeting("Tom").greeting

Error Message

You need assign the return value of the 'greeting' function to 'result'.

Please help as i've been stuck on this for hours!

1 Answer

Stone Preston
Stone Preston
42,016 Points

just assign the return value of the function call to the variable result, dont access the named greeting elelement. also flip the tuple around (in both the return type declaration and the return value) so that greeting comes first:

func greeting(name:String) -> (greeting: String, language: String) {

let language = "English" 
let greeting = "Hello " + name + "!" 
return (greeting, language) 
} 

var result = greeting("Tom")

Stone thanks so much.

Unfortunately the engine is still giving me an error saying that "Your result variable has the wrong value in it. Check the task instructions again."

Edit**

Ahh it was "!" that was the issue. Removing it fixed the problem. Thanks again!