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

# Swift - struct

struct RGBColor { let red: Double = 86.0 let green: Double = 191.0 let blue: Double = 131.0 let alpha: Double = 1.0

```let description: String

init(red: Double, green: Double, blue: Double, alpha: Double, description: String) {
self.red = red
self.green = green
self.blue = blue
self.alpha = alpha

self.description = "red: \(self.red), green: \(self.green), blue: \(self.blue)"
}
```

}

structs.swift
```struct RGBColor {
let red: Double = 86.0
let green: Double = 191.0
let blue: Double = 131.0
let alpha: Double = 1.0

let description: String

init(red: Double, green: Double, blue: Double, alpha: Double, description: String) {
self.red = red
self.green = green
self.blue = blue
self.alpha = alpha

self.description = "red: \(self.red), green: \(self.green), blue: \(self.blue)"
}
}
```

Hi Marko,

You haven't actually asked a question, but I assume your having trouble with this challenge. There are a few problems that I see.

In your init you don't need to add description as a parameter as this value will be set by the init() method itself.

You do not need to set default values to red, green, blue or alpha.

```struct RGBColor {
let red: Double
let green: Double
let blue: Double
let alpha: Double
let description: String

init(red: Double, green: Double, blue: Double, alpha: Double) {
self.red = red
self.green = green
self.blue = blue
self.alpha = alpha
self.description = "red: \(self.red), green: \(self.green), blue: \(self.blue), alpha: \(self.alpha)"
}
}
```

Hope this helps.

KB

You only have a few things wrong with your code.

1. You shouldn't set values to the RGBColor properties inside the struct. Those values should only ever be set when you instantiate and RGBColor object.
2. You shouldn't include description as a parameter in your init method. You set description using the red, green, blue, and alpha properties of RGBColor, so you don't need to input a description when initializing an RGBColor.
3. You need to include alpha when you create description.
```struct RGBColor {
let red: Double = 86.0 // DON'T SET ANY VALUE TO red
let green: Double = 191.0 // DON'T SET ANY VALUE TO green
let blue: Double = 131.0 // DON'T SET ANY VALUE TO blue
let alpha: Double = 1.0 // DON'T SET ANY VALUE TO alpha

let description: String // THE ABOVE PROPERTIES SHOULD HAVE THE SAME FORMAT AS THIS PROPERTY

// GET RID OF description FROM THE PARAMETERS OF THE INIT METHOD BELOW:
init(red: Double, green: Double, blue: Double, alpha: Double, description: String) {
self.red = red
self.green = green
self.blue = blue
self.alpha = alpha

self.description = "red: \(self.red), green: \(self.green), blue: \(self.blue)" // ADD ALPHA TO THIS STRING
}
}
```

I hope this helps!

Thanks for help. :)

PLUS

For the description String should you use:

self.description = "red: (self.red), green: (self.green), blue: (self.blue), alpha: (self.alpha)"

or

self.description = "red: (red), green: (green), blue: (blue), alpha: (alpha)"

Both seem to work but could anyone help explain which should be used and why?

Thanks