6.8 实例的引用特征和Swift的内存管理 [Swift教程]

1. 开发语言使用自动引用计数,跟踪并管理应用分配的内存。当实例不再被使用时,会自动释放这些类的实例所占用的内存。

image

2. 本节课将为你演示自动引用计数对实例引用的管理,首先定义一个用来创建实例的类。

image

3. 给类添加一个属性。

image

4. 添加一个初始化方法,用来设置属性的值。

image

5. 接着添加一个析构方法,当该类的实例的引用计数为0时,该方法将被调用(也许不会立即被调用)。

image

6. 然后初始化一个该类的实例对象,并初始化对象的属性的值。

image

7. 将该对象赋予另外两个变量,这样该对象的引用计数为3。

image

8. 从右侧的结果可以看出,这三个变量都是对类的同一个实例的引用。

image

9. 接着将实例的第一个引用设置为空,此时右侧的结果显示该引用已经为空,实例对象的引用计数变为2。

image

10. 从打开的控制台可以看出,析构方法并没有被调用,否则会输出相应的日志。

image

11. 继续将实例的第二个引用也设置为空,引用计数降为1,由于该实例仍然被引用,所以没有输出析构日志。

image

12. 将实例的第三个引用也设置为空,引用计数降为0,由于该实例再也没有被引用,所以在控制台输出了析构日志。

image

image

本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

你可能感兴趣的:(6.8 实例的引用特征和Swift的内存管理 [Swift教程])