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 trialCarldon King
iOS Development Techdegree Student 5,651 PointsQuestion about the rgbColorFromDictionary method
I tried something and I think it worked. I don't see any reason that I would get bugs, and my question is would this be an alternative, bad code, or is creating the function more efficient. Instead of using the method in the video, I typed this in right after the "artists +=..." array line, within the init() method:
let backgroundColorsDictionary = playlistDictionary["backgroundColor"] as! [String: CGFloat]
let red = backgroundColorsDictionary["red"]
let green = backgroundColorsDictionary["green"]
let blue = backgroundColorsDictionary["blue"]
let alpha = backgroundColorsDictionary["alpha"]
backgroundColor = UIColor(red: red!/255.0, green: green!/255.0, blue: blue!/255.0, alpha: alpha!)
It worked and gave no compile errors. I just wanted to finish creating the Playlist struct on my own without watching the video and this was the conclusion I came to, but when I watched the video he created the method and I wanted to know did I just find another way to do something or am I just incorrect and need to learn why doing it this way is a mistake.
3 Answers
thomas lotocki
3,230 PointsJust to clarify is your code:
let backgroundColorsDictionary = playlistDictionary["backgroundColor"] as! [String: CGFloat]
let red = backgroundColorsDictionary["red"]
let green = backgroundColorsDictionary["green"]
let blue = backgroundColorsDictionary["blue"]
let alpha = backgroundColorsDictionary["alpha"]
backgroundColor = UIColor(red: red!/255.0, green: green!/255.0, blue: blue!/255.0, alpha: alpha!)
or is it only:
let backgroundColorsDictionary = playlistDictionary["backgroundColor"] as! [String: CGFloat]
Carldon King
iOS Development Techdegree Student 5,651 PointsIts the whole thing
thomas lotocki
3,230 PointsCaldron,
My knowledge is very basic as you can see from my progress bar! My understanding is that it works all right but since you are doing it right in the constant definition and not as a function you will not be able to call this function later on when you pass the instance of Playlist. You may not need it ever and it may work but i guess doing it as a func gives you more flexibility later on.