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 Functions Function Return Types

Jake N
Jake N
612 Points

still not working?

im not seeing whats not working about this

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

1 Answer

Stone Preston
Stone Preston
42,016 Points

your code is similar for the code necessary for a different challenge. However the challenge you linked to is not that one. Did you get your code from another forum post perhaps? That code is for a tuples challenge, this challenge is on return types.

the challenge states Modify the definition of the function named greeting to return a String and replace the println statement with a return statement. The function should return a greeting. For example, if you pass in a string "Tom" then the return string would be: "Hello Tom".

the challenge initially has the following code:

func greeting(person: String) {
    println("Hello \(person)")
}

it needs to return a string, not a tuple. and you need to return the string, not print it

the swift eBook states:

You indicate the function’s return type with the return arrow -> (a hyphen followed by a right angle bracket), which is followed by the name of the type to return.

func greeting(person: String) -> String {
    return "Hello \(person)"
}