Swift反初始化介绍和用法

Swift Deinitialization是一个过程, 在该过程中, 调用” deinitializer” 可在释放类实例之前释放内存空间。 ‘ deinit’ 关键字用于取消分配系统资源占用的内存空间。反初始化仅适用于类类型。
反初始化的工作方式Swift会自动释放不再需要的实例, 以释放资源。 Swift使用自动引用计数(ARC)来处理实例的内存管理。通常, 在实例被释放后, 你无需执行手动清理。但是, 当你使用自己的资源时, 需要执行一些其他的清理操作。
例如:如果创建一个自定义类来打开文件并向其中写入一些数据, 则可能需要在释放该类实例之前关闭该文件。
句法:

deinit {// perform the deinitialization}

Swift初始化实例
var counter = 0; // for reference countingclass baseclass {init() {counter++; }deinit {counter--; }}var print: baseclass? = baseclass()print(counter)print = nilprint(counter)

【Swift反初始化介绍和用法】输出
10

在此, 由于未初始化计数器的print = nil语句值, 因此保持不变。
var counter = 0; // for reference countingclass baseclass {init() {counter++; }deinit {counter--; }}var print: baseclass? = baseclass()print(counter)print(counter)

输出
11

    推荐阅读