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

German Ostaszynski
German Ostaszynski
3,421 Points

Confused about task 3 and preview does not give me any errors

I am confused about this coding challenge and the preview does not work. Need help please

This is what I have so far:

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

    init (description: String) {
        self.item = description
        self.amount = 100.0
        self.item = "Book"
    }

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

1 Answer

Ben Griffith
Ben Griffith
5,808 Points

Hey, you're on this part right?

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.

First step is to create the variable item and assign it an instance of Expense. You need to do this after all of the curly brackets {}. After that use dot notation to set a value for amount.

var item = Expense(description: "Anything you like!")
item.amount  = 100

So the full deal;

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


// The fix
var item = Expense(description: "Description!");
item.amount = 100
German Ostaszynski
German Ostaszynski
3,421 Points

Thanks!!! I think I got confused in the description :)