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

Josh Smith
Josh Smith
1,049 Points

Going around in circles

Ok I have no idea where to go from here. Don't think I understand the question, every which way I experiment to get this done I'm getting it wrong

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

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

    // add the calculateTaxes method here
    // it should accept only one parameter named 'percentage' of type Double
func calculateTaxes(percentage: Double) -> Double {
  return self.amount * (percentage/100)

  init(Expense) -> Double {
  var item = amount: 100

  }

}

}
Stepan Ulyanin
Stepan Ulyanin
11,318 Points

Can you post the questions please do we could look at what's the problem

Josh Smith
Josh Smith
1,049 Points

Hi Stepan!

Thanks for getting back to me so quick! Ok so part 3 of the challenge asks this:

"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."

3 Answers

Stepan Ulyanin
Stepan Ulyanin
11,318 Points

Try adding this:

var taxes = item.calculateTaxes(7.5)
Josh Smith
Josh Smith
1,049 Points

Stepan, you my friend are a life saver. I was trying all sorts of complex work arounds and the answer was so simple!

Thanks buddy :)

Stepan Ulyanin
Stepan Ulyanin
11,318 Points

Hi, try this:

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

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

    // add the calculateTaxes method here
    // it should accept only one parameter named 'percentage' of type Double
  func calculateTaxes(percentage: Double) -> Double {
     return self.amount * (percentage/100)
  }
}
Josh Smith
Josh Smith
1,049 Points

Hi Stepan,

I've already done this part of the challenge its steps 3 and 4 that I'm getting stuck on

Stepan Ulyanin
Stepan Ulyanin
11,318 Points

Ok try this then:

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

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

    // add the calculateTaxes method here
    // it should accept only one parameter named 'percentage' of type Double
  func calculateTaxes(percentage: Double) -> Double {
     return self.amount * (percentage/100)
  }
}

var item = Expense(description: "My description")
item.amount = 100
Josh Smith
Josh Smith
1,049 Points

Hi Stepan, that helps loads, do you think you could help me with the 4th piece of the challenge before I jump off a roof? This is what its asking me:

"We need to figure out the tax amount when the tax percentage is 7.5 percent. Call the method calculateTaxes on the variable item and assign the result to a new variable named taxes."