Swift 析构过程
来源:互联网 发布:报名网站源码 编辑:程序博客网 时间:2024/06/02 06:50
在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit来标示析构函数,类似于初始化函数用init来标示。析构函数只适用于类类型。
一、析构过程原理
Swift会自动释放不再需要的实例以释放资源。
Swift通过自动引用计数(ARC)处理实例的内存管理。
通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。
例如,如果创建了一个自定义的类来打开一个文件,并写入一些数据,你可能需要在类实例被释放之前关闭该文件。
1、语法
在类的定义中,每个类最多只能有一个析构函数。析构函数不带任何参数,在写法上不带括号:
deinit { // 执行析构过程}
2、实例
var counter = 0; // 引用计数器class BaseClass { init() { counter += 1; } deinit { counter -= 1; }}var show: BaseClass? = BaseClass()print(counter)show = nilprint(counter)
以上程序执行输出结果为:
10
当 show = nil 语句执行后,计算器减去 1,show 占用的内存就会释放。
var counter = 0; // 引用计数器class BaseClass { init() { counter += 1; } deinit { counter -= 1; }}var show: BaseClass? = BaseClass()print(counter)print(counter)
以上程序执行输出结果为:
11
阅读全文
0 0
- swift析构过程
- Swift-析构过程
- Swift 析构过程
- Swift 构造过程+析构过程(十三)
- Swift 构造过程和析构过程
- Swift的构造和析构过程
- Swift 编程语言的析构过程
- Swift学习笔记(十三)析构过程
- Swift开篇013->析构过程
- Swift 析构过程(Deinitialization)
- Swift学习:2.15 析构过程
- Swift(十五、构造过程(2)及析构过程)
- swift学习笔记(13)- 构造过程、析构过程
- swift 笔记 (十五) —— 析构过程、ARC
- IOS开发语言Swift入门连载---析构过程
- 对照Java学习Swift--析构过程(Deinitialization)
- Swift-析构过程(Deinitialization)(十三)
- swift详解之七------------你真的了解构造过程吗(构造过程和析构过程)
- Java设计模式--观察者模式【Observer Pattern】
- 解析数据,设置图片的圆角,popwindow弹框
- springmvc限流拦截器
- 设计模式7大原则
- 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理
- Swift 析构过程
- C++---------之--------【虚析构函数】
- Jq实现表格隔行换色
- 不重启Tomcat 更新后台代码 JRebel 7.0.7 (IDEA)
- Vegas怎么添加字幕文字?
- 第三周
- php自带的常量
- Bug 记事本
- centos7 Mysql安装(yum方式)