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 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 }