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 trialEleanor Campbell
8,630 PointsHow make a custom initializer?
So I am trying to pass this challenge that is asking for a custom initializer. I put in:
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: " + red + ", green: " + green + ", blue: " + blue + ", alpha: " + alpha }
it's telling me I haven't made a custom initializer. what am I doing wrong?
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 = "red: " + red + ", green: " + green + ", blue: " + blue + ", alpha: " + alpha
}
}
1 Answer
Tobias Helmrich
31,603 PointsHey Nan,
I can see two problems in your code. Firstly the challenge only wants you to use the initializer assign values for the first four properties but you also used the fifth property description.
The other problem is that if you want to write an integer in a string in Swift you have to use string interpolation and not concatenation like you do now.
So if you write your code like this
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)"
}
}
it should work. I hope that helps and if you have any further questions feel free to ask! :)
Good luck!