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

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,738 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.