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

Richard Pitts
PLUS
Richard Pitts
Courses Plus Student 1,243 Points

I don't know where to go from here!

I don't know where to go from here!

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": 86.0, "green": 191.0, "blue": 131.0, "alpha": 1.0)
}

2 Answers

Init is a function which you need to define using parameters. Your mistake is that you keep entering values into it.

This is it:

// we define a function named init which initialises all the attributes of the struct, with the values which are passed to it
  init(red : Double, green : Double, blue : Double, alpha : Double){
    self.red = red
    self.green = green
    self.blue = blue
    self.allha = alpha

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

After we defined this init function we can create a RGBColor struct using:

let someColor = RGBColor(red: 86.0, green: 191.0, blue: 131.0, alpha: 1.0)

, they don't ask you to do this in the assignment, but this demonstrates how the struct can be used after it is properly defined.

  // Add your code below
  init(red : Double, green : Double, blue : Double, alpha : Double){
    self.red = red
//do the same as I did with red for the green, blue and alpha 
//then put all the values in the description constant


  }
Richard Pitts
Richard Pitts
Courses Plus Student 1,243 Points

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

let description: String

// Add your code below init(red: 86.0, green: 191.0, blue: 131.0, alpha: 1.0) self.red = red self.green = green self.blue = blue self.alpha = alpha }

I tried that and I still could not get it to work