在需要释放一个类实例之前,必须调用" deinitializer"来释放内存空间,关键字" deinit"用于取消分配系统资源占用的内存空间。
var counter=0; //for reference counting class baseclass { init() { counter++; } deinit { counter--; } } var print: baseclass?=baseclass() print(counter) print=nil print(counter)
运行上述程序时,我们得到以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-deinitialization.html
来源:LearnFk无涯教程网
1 0
当print=nil语句被省略时,计数器的值保持不变,因为它没有被初始化。
var counter=0; //用于引用计数 class baseclass { init() { counter++; } deinit { counter--; } } var print: baseclass?=baseclass() print(counter) print(counter)
运行上述程序时,我们得到以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-deinitialization.html
来源:LearnFk无涯教程网
1 1
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)