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 trialbecky hayes
2,226 PointsThink i have the bulk of this Get Set code right but clearly missing something in the detail!
Not sure why it isnt compiling the get set code
class Temperature {
var celsius: Float = 0.0
var fahrenheit: Float {
get {
return ((celsius * 1.8) + 32.0)
}
set {
celsius = ((fahrenheit - 32) / 1.8)
}
}
1 Answer
Michael Reining
10,101 PointsHi Becky,
You are very close.
Setters have a special variable scoped within them called newValue.
That is the default name for whatever new value is sent to the setter.
So you have to use that instead of fahrenheit in your code like this.
class Temperature {
var celsius: Float = 0.0
var fahrenheit: Float {
get {
return (celsius * 1.8) + 32.0
}
set {
celsius = (newValue - 32) / 1.8 // use newValue
}
}
}
Still confused, you can get more details here: http://www.codingexplorer.com/computed-properties-in-swift/
I hope that helps,
Mike
PS: If you found the above helpful, be sure to check out my app which breaks code challenges down and really explains things so you can learn faster.
Code! Learn how to program with Swift
https://itunes.apple.com/app/code!-learn-how-to-program/id1032546737?mt=8
PPS: I could not have developed the above app without going through the awesome resources on Team Treehouse. Stick with it. It is so worth it!