Swift文档Chapter 15 析构过程
析构器只适合于类类型,一个类被释放之前,析构器就会被调用。析构器用deinit
来标识。
析构过程原理
Swift会通过自动引用计数自动释放不再需要的实例以释放资源。每个类中只能定义一个析构器,并且析构器不含有参数。
deinit {
//执行析构内容
}
析构器是在实例释放前自动调用的,不可以手动调用。子类会继承父类的析构器,并且子类析构器实现的最后,父类析构器同样会被自动调用。子类不提供析构器,父类也会调用其析构器。
只有实例的析构器被调用后,实例才会被释放。因此析构器可以访问实例的所有属性,并根据属性修改他们的行为。