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 Properties Getter and Setter Methods

becky hayes
becky hayes
2,226 Points

Think 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

Temperature.swift
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
Michael Reining
10,101 Points

Hi 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!