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 Build a Simple iPhone App with Swift 2.0 Getting Started with iOS Development Swift Recap Part 1

Dalton Keen
Dalton Keen
8,082 Points

Calling Functions

What would be the proper way here to return the string value. It currently returns "iOSDevelopment by Apple. Filed under Tag(name: "swift")"

I've tried creating an instance for Tag and assigning it to a constant and using that constant as the value for tag. And still had no luck.

Can't seem to figure this one out. Any help?

structs.swift
struct Tag {
    let name: String
}
struct Post {
    let title: String
    let author: String
    let tag: Tag

    func description() -> String {
        return "\(title) by \(author). Filed under \(tag)"
    }
}

let firstPost = Post(title: "iOSDevelopment", author: "Apple", tag: Tag(name: "swift"))

let postDescription = firstPost.description()

1 Answer

If I understand correctly, you are getting

iOSDevelopment by Apple. Filed under Tag(name: "swift")

and would like to see

iOS Development by Apple. Filed under swift

instead. If so, try this for the function:

    func description() -> String {
        return "\(title) by \(author). Filed under \(tag.name)"
    }
Dalton Keen
Dalton Keen
8,082 Points

Thank you. Much appreciated