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

John Drexler
John Drexler
4,806 Points

I feel like my code is right...

It's telling me to make sure my string interpolation is right, but I think it is...

structs.swift
struct Tag {
    let name: String
}

let firstTag = Tag(name: "music")

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: "Blogs", author: "John Drexler", tag: firstTag)

let postDescription = firstPost.description()

2 Answers

Angel Caro
Angel Caro
11,831 Points

You have to change your firstTag to "swift" and access it in the string interpolation using tag.name and it is asking for a string that prints "iOS Development. Filed by swift" like this:

struct Tag {
    let name: String
}

let firstTag = Tag(name: "swift")

struct Post {
    let title: String
    let author: String
    let tag: Tag

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

let firstPost = Post(title: "iOS Development", author: "Apple", tag: firstTag)

let postDescription = firstPost.description()
Steven Deutsch
Steven Deutsch
21,046 Points

Ah right, Angel beat me to it :)

Steven Deutsch
Steven Deutsch
21,046 Points

Hey John Drexler,

You're really close! You're just missing one thing! Inside of your description method, you are currently using String interpolation on the entire instance of Tag.

    func description() -> String {
        return "\(title) by \(author). Filed under \(tag.name)" // needs to read tag.name
    }

What you need to be doing is accessing the name property of the Tag instance using dot syntax.

Hope this helps! Good Luck!