Swift 析构过程

在一个类的实例被释放之前,析构函数被立即调用。用关键字 deinit 来表示析构函数,类似于初始化函数 init来标示。析构函数只适用于类类型。与 OC 中 dealloc 一样。

过程原理

Swift 会自动释放不在需要的实例以释放资源。
Swift 通过自动引用计数(ARC)处理实例的内存管理
通常当你的实例被释放时不需要手动的去清理,但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如:如果创建了一个自定义的类打开一个文件,并写入一些数据,你可能需要在类实例释放之前关闭文件。
在类的定义中,每个类最多只能有一个析构函数。析构函数不带任何参数,在写法上不带括号:

deinit {
  // 执行析构过程 释放资源
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.简介 析构器 只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标...
    sudhengshi阅读 2,649评论 0 1
  • 在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit来标示析构函数,类似于初始化函数用init来标示...
    零度_不结冰阅读 1,495评论 0 0
  • 中文文档 析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标示...
    伯wen阅读 1,209评论 0 0
  • 析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标示,类似于构造器...
    小驴拉磨阅读 1,826评论 0 0
  • 多渠道打包: First step:在build.gradle配置文件中添加flavor: 至此我们添加了两个fl...
    ChanZeeBm阅读 1,410评论 0 0