Question: in swift playgrounds In the Height struct below, height is represented in both inches and centimeters. However, if heightInInches is changed, heightInCentimeters should also adjust

in swift playgrounds

In the Height struct below, height is represented in both inches and centimeters. However, if heightInInches is changed, heightInCentimeters should also adjust to match it. Add a didSet to each property that will check if the other property is what it should be, and if not, sets the proper value. If you set the value of the other property even though it already has the right value, you will end up with an infinite loop of each property setting the other.

Create an instance of Height and then change one of its properties. Print out the other property to ensure that it was adjusted accordingly.

says i have a problem with Height, says the declaration is wrong

struct Height {

var heightInInches: Double{

willSet {

print("About to set heightInINches to \(15)")

}

}

didSet{

if heightInInches > oldValue {

print ("Added \(heightInInches - oldValue) inches")

}

}

var heightInCentimeters: Double{

willSet{

print("About to set heightInCentimeters to \(20)")

}

didSet{

if heightInCentimeters > oldValue {

print("Added \(heightInCentimeters - oldValue) centimeters")

}

}

}

init(heightInInches: Double) {

self.heightInInches = heightInInches

self.heightInCentimeters = heightInInches*2.54

}

init(heightInCentimeters: Double) {

self.heightInCentimeters = heightInCentimeters

self.heightInInches = heightInCentimeters/2.54

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!