14.1 Swift析构方法

14.1 Swift析构方法,第1张

概述        /**                    Swift 内存管理                    和 Objective-C 一样都是基于ARC的内存管理。                    (1)析构方法          对象的内存被回收前夕被隐式的调用的方法。主要执行一些额外的 *** 作。          比如:关闭文件、断开网络、释放对象持有的一些资源等。     

/**

Swift 内存管理

Objective-C 一样都是基于ARC的内存管理。

1)析构方法

对象的内存被回收前夕被隐式的调用的方法。主要执行一些额外的 *** 作。

比如:关闭文件、断开网络、释放对象持有的一些资源等。

Objective-C中就是 dealloc方法

Swift的析构方法中,不用去管理内存。

*/

class fileHandler {

var fd: Int32? // 文件描述符

init(path: String) {

// 打开文件,只读方式

var ret = open(path,O_RDONLY)

if ret == -1 {

fd = nil

} else {

fd = ret

}

}

deinit {

// 如果没有关闭这个文件,那么资源被浪费了

if let ofd = fd {

close(ofd)

}

print("对象被销毁,持有资源被释放。")

}

}

print("----------->>>>")

/**

对象(引用类型)何时被销毁,对象没有任何引用的时候。

*/

var ofh: fileHandler? = fileHandler.init(path: "etc/passwd")

print("-----------da>>>>")


// 目前没有被任何的引用指向刚刚构造的对象。

// ofh = nil

/**

打印

----------->>>>

-----------da>>>>

对象被销毁,持有资源被释放。

*/

总结

以上是内存溢出为你收集整理的14.1 Swift析构方法全部内容,希望文章能够帮你解决14.1 Swift析构方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存