三十一 Swift3.0之 析构方法
2017-04-22 10:41
274 查看
/* 析构方法 对象的内存被回收前夕被隐式调用的方法, 对应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: "lnj") print("SuperMan init") } deinit{ // 如果父类的析构方法不会被自动调用,那么我们还需要关心父类 // 但是如果这样做对子类是比较痛苦的 print("SuperMan deinit") } } var sm: SuperMan? = SuperMan(age: 30) sm = nil
相关文章推荐
- Swift----方法 、 下标 、 继承 、 初始化 、 析构方法 、 可选链
- 【Swift学习】Swift编程之旅---析构方法(十九)
- Swift3.0 中代理的使用方法
- swift3.0最新拨打电话方法
- 三十 Swift3.0之 构造方法 二
- Swift基础篇——析构方法
- iOS ScrollView实现自动布局的方法(适用Swift 3.0 )
- Swift3.0对UIColor进行方法扩展
- swift 3.0 哈希sha1方法
- swift3.0中String.Index截取字符串方法,很方便哦
- swift学习笔记之构造方法和析构方法
- Swift3.0中文教程:11.方法
- Swift3.0后Alamofire报错的解决方法
- Swift 3.0将UILabel数字颜色设置为红色的方法
- Swift-析构方法与内存管理(初级)
- swift自学笔记(六)(构造方法、析构方法)
- Swift 3.0 延迟加载的几种实现方法
- iOS UI调试工具Reveal lldb配置方法(Swift3.0工程)
- iOS ScrollView 下拉放大图片,上滑覆盖图片实现方法(Swift 3.0)
- swift 3.0中实现字符串截取、比较的方法示例