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

gurminder thind
PLUS
gurminder thind
Courses Plus Student 10,062 Points

struct initializationRGBColor

How to solve struct initializationRGBColor problem

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) {
    self.red = red
    self.green = green
    self.blue = blue
    self.alpha = alpha
    description = ("red:\(red),green:\(green),blue:\(blue),alpha:\(alpha)")
}

let aColor = RGBColor(red: 86.0, green: 191.0, blue: 131.0, alpha: 1.0)
aColor.description
gurminder thind
gurminder thind
Courses Plus Student 10,062 Points

I changed description = ("red:(red),green:(green),blue:(blue),alpha:(alpha)") to self.description = ("red:(red),green:(green),blue:(blue),alpha:(alpha)"). It is working in playground but not in online compiler

1 Answer

In directly coping the code supplied above, there is an issue with not having a closing bracket for the struct, so check for that which might help.

// You have:
struct RGBColor {
    init(...) {
    }

// Should have:
struct RGBColor {
    init(...) {
    }
} // <- missing closing bracket

Secondly, the issue you may run into is that the Treehouse compiler is probably looking for a direct match of the string, so place a space after each color i.e.

description = "red: \(red) ..." // etc