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 Object-Oriented Swift 2.0 Complex Data Structures Custom Initializers

Mohamed Araby
PLUS
Mohamed Araby
Courses Plus Student 1,589 Points

what is wrong here , i did not fully understand it ?

what is the wrong with my code i am Not sure why this isn't working ... for swift challenge code Initializers

structs.swift
struct RGBColor {
    let red: Double
    let green: Double
    let blue: Double
    let alpha: Double

    let description: String

    // Add your code 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 
     }
}



let color = RGBColor.init(red: 86.0, green: 191.0, blue: 131.0, alpha: 1.0)

1 Answer

Tobias Helmrich
Tobias Helmrich
31,602 Points

Hey Mohamed,

you were on the right track. But your code has some problems: You only have to set the initializer assign values for the first four properties (red, green, blue, alpha) but you also set it for description. Besides that you forgot to set the String for description in your init method.

You also don't have to call the method and set the color variable as this will be done automatically when the challenge is tested.

If you do it like this it should work:

struct RGBColor {
    let red: Double
    let green: Double
    let blue: Double
    let alpha: Double

    let description: String

    // Add your code below
    init(red: Double, green: Double, blue: Double, alpha: Double) {

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

     }
}

If you don't understand something or have further questions feel free to ask! Good luck! :)

Mohamed Araby
Mohamed Araby
Courses Plus Student 1,589 Points

mmmmm i need to set the description value ,,, i did not get it clear form the question . :(

but thanks mate for help :)