Swift基础篇——析构方法
来源:互联网 发布:qq采集软件 编辑:程序博客网 时间:2024/06/16 14:14
析构方法
import Foundation/*析构方法对象的内存被回收前夕被隐式调用的方法, 对应OC的dealloc方法主要执行一些额外操作, 例如释放一些持有资源, 关闭文件, 断开网络等*/class FileHandler{ var fd: Int32? // 文件描述符 // 指定构造器 init(path:String){ // 需要打开的文件路径, 打开方式(只读) // open方法是UNIX的方法 let ret = open(path, O_RDONLY) if ret == -1{ fd = nil }else{ fd = ret } print("对象被创建") } // 析构方法 deinit{ // 关闭文件 if let ofd = fd{ close(ofd) } print("对象被销毁") }}var fh:FileHandler? = FileHandler(path: "/Users/Jonathan_Lee/Desktop/老员工奖.xlsx")// 当对象没有任何强引用时会被销毁fh = nil/*析构方法的自动继承父类的析构方法会被自动调用, 不需要子类管理*/class Person { var name:String init(name:String){ self.name = name print("Person init") } deinit{ print("Person deinit") }}class SuperMan: Person { var age:Int init(age:Int){ self.age = age super.init(name: "Swift") print("SuperMan init") } deinit{ // 如果父类的析构方法不会被自动调用,那么我们还需要关心父类 // 但是如果这样做对子类是比较痛苦的 print("SuperMan deinit") }}var sm: SuperMan? = SuperMan(age: 30)sm = nil
0 0
- Swift基础篇——析构方法
- Swift基础篇——元祖
- Swift基础篇——分支
- Swift基础篇——可选类型
- Swift基础篇——循环
- Swift基础篇——数组
- Swift基础篇——字典
- Swift基础篇——字符串
- Swift基础篇——函数
- Swift基础篇——构造函数
- Swift基础篇——闭包
- Swift基础篇——懒加载
- Swift基础篇——单例
- Swift基础篇——结构体
- Swift基础篇——可选值
- Swift基础篇——枚举
- Swift基础篇——内存相关
- Swift基础篇——内外函数
- POJ 1159 Palindrome
- Swift基础篇——可选值
- Swift基础篇——枚举
- Swift基础篇——内存相关
- Swift基础篇——内外函数
- Swift基础篇——析构方法
- [POJ 1511]Invitation Cards[链式前向星][SPFA]
- java 虚拟机的生命周期
- Swift2.0——构造方法的使用
- Josephus问题解决方法一
- Swift中的打印日志的配置
- 关于大学考试的一点看法
- Swift 读取本地json文件时的异常捕获(try catch)的使用
- 垃圾收集 Garbage Collection