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

getting this error when setting up a custom init: Make sure you're using string interpolation to construct the correct

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

let description: String

// Add your code below
init custom (red: Double, green: Double, blue: Double, alpha: Double, description: String) {
    self.red = 86.0
    self.green = 191.0
    self.blue = 131.0
    self.alpha = 1.0
    self.description: = "red: \(red), green: \(green), blue: \(blue), alpha: \(alpha)"


}

}

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

    let description: String

    // Add your code below
    init custom(red: Double, green: Double, blue: Double, alpha: Double, description: String) {
        self.red = 86.0
        self.green = 191.0
        self.blue = 131.0
        self.alpha = 1.0
        self.description = "red: \(red), green: \(green), blue: \(blue), alpha: \(alpha)"


    }
}

1 Answer

Brendan Whiting
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Brendan Whiting
Front End Web Development Techdegree Graduate 84,696 Points

1) The word "custom" isn't a special keyword in swift. Treehouse is just telling you to write your own initializer method, as structs come with one by default behind the scenes.

2) We don't need to pass in a description parameter. The description is composed from the other values, it's not passed in separately.

3) We want to set the values on self from the parameters that get passed into the init method. Right now you're hard-coding in the numbers 86.0, 191.0, etc. These were just examples of some numbers that might get passed in, but they could be any numbers.

Let me know if you're still having trouble.