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

Build a Simple iPhone App with Swift 2.0

We learned about instance methods before. For this task, add an instance method to Post.

Name the method description. It takes no parameters and returns a string that describes the post instance. For example given a title: "iOS Development", author: "Apple", and a tag named "swift", the description would read as follows"

"iOSDevelopment by Apple. Filed under swift"

Once you have an instance method, call it on the firstPost instance and assign the result to a constant named postDescription Bummer! Make sure the implementation of description matches the directions. Hint: Use string interpolation!

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 tagtag = Tag(name: "n")
let firstPost = Post(title: "t", author: "a", tag: tagtag )
let postDescription: String = firstPost.description()

3 Answers

Try using tag.name inside of your description method. I had the same problem here. I hope this helps you.

Gareth Borcherds
Gareth Borcherds
9,372 Points

This is the correct answer. I moved it to be an answer of the post rather than a comment.

that's it, thanks

Jericoe States
Jericoe States
3,262 Points

tag.name?? I don't understand. where? exactly what does this look like?

Mario Campana
Mario Campana
489 Points

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.name)"
}

}

let tagtag = Tag(name: "swift")

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

let postDescription: String = firstPost.description()

Mohamad Elcheikh
Mohamad Elcheikh
3,186 Points

ididnt get the answer can u help plz

Mario Campana
Mario Campana
489 Points

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.name)"
}

}

let tagtag = Tag(name: "swift")

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

let postDescription: String = firstPost.description()