iOS Build a Simple iPhone App with Swift Getting Started with iOS Development Swift Recap Part 1

Saleh Bubishate
Saleh Bubishate
1,613 Points

How to solve this taks, please?

How can I use the initial structure "Tag" in the last instance"firstPost" directly?

structs.swift
struct Tag {
    let name: String

}


struct Post {

    let title: String
    let author : String
    let tag: Tag

    func description() -> String {
        var theText : String
        theText = "\(title) by \(author). Filed under \(tag)"
        print("\(theText)")
        return theText
        }

        }

        let theTag = Tag(name: "swift")

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

1 Answer

Magnus Hållberg
Magnus Hållberg
17,216 Points

You dont have to first create an object, you can initialize it inside of the Post initializer. Like this:

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

Also, inside the body of the description method, you can return a string right away. You don't have to create a property for that. I also think you have to call self on all the properties since its inside a method. You also have to specify the property of tag you want to use, like below.

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