官术网_书友最值得收藏!

Creating the instances of classes

The following lines create an instance of the Circle class named circle within the scope of a getGeneratedCircleRadius function. The code within the function uses the created instance to access and return the value of its radius property. In this case, the code uses the let keyword to declare an immutable reference to the Circle instance named circle. An immutable reference is also known as a constant reference because we cannot replace the reference hold by the circle constant to another instance of Circle. When we use the var keyword, we declare a reference that we can change later.

After we define the new function, we will call it. Note that the screenshot displays the results of the execution of the initializer and then the deinitializer. Swift destroys the instance after the circle constant becomes out of scope because its reference count goes down from 1 to 0; therefore, there is no reason to keep the instance alive:

func getGeneratedCircleRadius() -> Double {
    let circle = Circle(radius: 20)
    return circle.radius
}

print(getGeneratedCircleRadius())

The following lines show the results displayed in the Playground's debug area after we executed the previously shown code. The following screenshot shows the results displayed at the right-hand side of the lines of code in the Playground:

I'm initializing a new Circle instance with a radius value of 20.0.
I'm destroying the Circle instance with a radius value of 20.0.
20.0

Note that it is extremely easy to code a function that creates an instance and uses it to call a method because we don't have to worry about removing the instance from memory. The automatic reference counting mechanism does the necessary cleanup work for us.

主站蜘蛛池模板: 咸丰县| 陆丰市| 澄迈县| 栖霞市| 宝丰县| 江门市| 铜山县| 邵武市| 都安| 陈巴尔虎旗| 安泽县| 阿巴嘎旗| 博爱县| 奉新县| 大名县| 保靖县| 探索| 邻水| 灌阳县| 南靖县| 陇南市| 宿松县| 遵义市| 大连市| 海晏县| 温州市| 石泉县| 兴城市| 绍兴县| 洛扎县| 库车县| 高淳县| 嵊州市| 嫩江县| 青浦区| 西峡县| 湘阴县| 汉川市| 尼玛县| 林芝县| 观塘区|