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

I dont understand what I am doing wrong in with the getter and setter methods in Swift for iOS

The setter method for fahrenheit did not assign the right value to the celsius property. (Note: Celsius = (Fahrenheit-32)/1.8)

is my error, but in the set value I have that calculation set. I don't understand what is wrong here.

If anyone could provide a detailed explanation of why my code is wrong, and how to fix it, that would be great.

Thanks in advance.

Temperature.swift
class Temperature {
    var celsius: Float = 0.0
    var fahrenheit: Float {
        get {
        return celsius * 1.8 + 32.0
        }

        set {
        return celsius = fahrenheit - 32 / 1.8
        }

   }   
}

I figured out how to solve the problem, by changing fahrenheit to (nevValue)

but, I still dont understand why my last bit of code was invalid. Why was the challenge unable to understand taking farienheit and doing the calculations?

1 Answer

Stephen Hanson
Stephen Hanson
2,030 Points

I believe the reason you got an error, as you later discovered is that the setter method needs a newValue to work. In other words you are trying to set fahrenheit to a newValue when you call it. So by there not being a newValue in set, it did not know what set was trying to accomplish. Like if someone said to you "Paint these walls" and never provided you with a new color.