Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS Swift Enums and Structs Structs and their Methods Struct Methods

Structure Methods Task 3

Challenge Task 3 of 4

Create a variable named item and assign it an instance of Expense (remember to use the initializer with the description parameter. Enter any description you like). On the next line assign the amount property a value of 100.

I don't understand where my code is wrong. I think that I've done everything correct up until the point where I am asked to assign the amount property a value of 100 but I can't figure out why.

struct.swift
struct Expense {
    var description: String
    var amount: Double = 0.0

    init (description: String) {
        self.description = description
    }

func calculateTaxes (percentage: Double) -> Double {
    return (self.amount * (percentage/100))
    var item = Expense (description: "Whatever works")
    let amount = 100
  }

}

This is in swift

3 Answers

You are the right Track however the item variable should be called outside of the struct . Hope that helps.

          struct Expense {
         var description: String
        var amount: Double = 0.0

            init (description: String) {
            self.description = description
            }

              func calculateTaxes (percentage: Double) -> Double {
              return (self.amount * (percentage/100))
          }
         }

  var item = Expense (description: "Whatever works")
   item.amount = 100

Great! I was closer than I thought which is reassuring. Thanks a lot!

Mohammed Abushamala
Mohammed Abushamala
3,650 Points

i have done the same thing as the answer given, but i still got this error

struct Expense { var description: String var amount: Double = 0.0

init (description: String) {
    self.description = description
}

func calculateTaxes (percentage: Double) -> Double {
    return (self.amount * (percentage/100))
}

} var item = Expense(description: "I know struct") let amount = 100

swift_lint.swift:24:1: error: extraneous '}' at top level }