Swift4语法极简手册 — Deinitialization

Swift4语法极简手册

第十五章节:Deinitialization

Deinitialization

deinitialization用于在实例被释放前执行,它只存在于Classes

定义语法

1
2
3
deinit{
}
  • deinit会自动调用,不允许在程序中手动调用deinit方法
  • 子类不需要在deinit中调用父类的deinit方法,Swift会自动处理这些
  • 主要用于释放一些资源,如持有的文件资源等
1
2
3
4
5
6
7
8
9
10
class Person {
let name: String
init(name: String) {
self.name = name
print("\(name) is being initialized")
}
deinit {
print("\(name) is being deinitialized")
}
}