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

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