zoukankan      html  css  js  c++  java
  • Swift14-析构过程

    析构过程原理、析构器实践。

    析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标示,类似于构造器要用init来标示。

    析构过程原理:

    Swift会自动释放不再需要的实例以释放资源。如自动引用计数,Swift通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,可能需要进行一些额外的清理。例如,如果创建了一个自定义的类来打开一个文件,并写入一些数据,可能需要在类实例被释放之前手动去关闭该文件。

    在类的定义中,每个类最多只能有一个析构器,而且析构器不带任何参数。

    deinit{

      //析构过程

    }

    析构器是在实例释放发生前被自动调用。不能主动调用析构器子类继承了父类的析构器,并且在子类析构器实现的最后,父类的析构器会被自动调用。即使子类没有提供自己的析构器,父类的析构器也同样会被调用。

    因为直到实例的析构器被调用后,实例才会被释放,所以析构器可以访问实例的所有属性,并且可以根据那些属性修改它的行为。

  • 相关阅读:
    2.2.16锁对象的改变
    2.2.15内置类与同步:测试2
    2.2.14内置类与同步:测试1
    2.2.13内置类与静态内置类
    libev客户端
    Linux下sqlite3编程
    ds18b20驱动及应用程序
    ds18b20采集温度并上报服务器
    linux下GPRS模块ppp拨号上网
    linux下GPRS模块的应用程序
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/12853179.html
Copyright © 2011-2022 走看看