析构函数
一、导入
构造函数:从渠道有,诞生的过程
析构函数:从有到无,死亡时调用的函数
二、析构函数定义
每个类最多只有一个析构器,而且析构器不带任何参数和圆括号
deinit{
}
三、析构函数运行的原理
什么时候调用析构? Swift会自动找到不再需要的实例进行释放。
-如何判断一个实例需要与否?
答:Swift通过自动引用计数(ARC),只要有人用,我就不回收;没人使用我就调用析构函数收走内存
就是说计数为0的时候调用析构函数(不能手工调用)
class Person{
var name:String
var age:Int
init(name:String,age:Int){
print("构造函数被调用")
self.name = name
self.age = age
}
}
deinit{
print("调用析构函数")
}
var p1 = Person(name:"jing",age:18)