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 Getting Started with iOS Development Swift Recap Part 1

What is wrong with this code?

struct Tag { let name: String } struct Post { let title: String let author: String let tag: Tag func description() -> String { let desc = "(title) by (author). Filed under (self.tag)" return desc

} }

let firstPost = Post(title: "iOS Development",author: "Apple",tag: Tag(name: "swift")) let postDescription = firstPost.description()

structs.swift
struct Tag {
  let name: String
}
struct Post {
  let title: String
  let author: String
  let tag: Tag
  func description() -> String {
  let desc = "\(title) by \(author). Filed under \(self.tag)"
  return desc

  }
}


let firstPost = Post(title: "iOS Development",author: "Apple",tag: Tag(name: "swift"))
let postDescription = firstPost.description()

4 Answers

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! You're doing really well here and you are soooo close here. The problem is in the part where you're interpolating self.tag. The variable tag holds a an instance of the struct Tag. It can't be interpolated as a whole. What needs to happen here is you need to interpolate the stored property of that struct. In this case, the name property.

:bulb: Hint: try some combination of tag and name. Again, you want to access the name property of the tag struct with dot notation.

I believe you can get it with these hints, but let me know if you're still stuck! :sparkles:

Thanks, I have done it.. self.tag.name

Theo VOGLIMACCI
Theo VOGLIMACCI
8,027 Points

Why should we put the self identifier here? I don't understand well. Thanks!

I don't need to use self in this example. but it won't be wrong to use it.