美文网首页
OneDayOneSwift[15] - Deinitializ

OneDayOneSwift[15] - Deinitializ

作者: OrangeInce | 来源:发表于2016-01-19 22:26 被阅读0次

析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。

析构过程原理

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

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

因为直到实例的析构器被调用后,实例才会被释放,所以析构器可以访问实例的所有属性,并且可以根据那些属性可以修改它的行为(比如查找一个需要被关闭的文件)。

deinit {
    // 执行析构过程
}

相关文章

  • OneDayOneSwift[15] - Deinitializ

    析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。 析构过程原理 Swift 会自动释放不再需要...

  • OneDayOneSwift[22] - Protocols

    协议定义了一个蓝图,规定了用来实现某一特定任务或者功能的方法、属性,以及其他需要的东西。类、结构体或枚举都可以采纳...

  • OneDayOneSwift[23] - Generics

    泛型是 Swift 的强大特性之一,许多 Swift 标准库是通过泛型代码构建的。事实上,泛型的使用贯穿了整本语言...

  • OneDayOneSwift[8] - Enumerations

    如果你熟悉 C 语言,你会知道在 C 语言中,枚举会为一组整型值分配相关联的名称。Swift 中的枚举更加灵活,不...

  • OneDayOneSwift[9] - Classes and

    An instance of a class is traditionally know as an object...

  • OneDayOneSwift [1] - The Basics

    Type basic Swift provides its own versions of all fundame...

  • OneDayOneSwift[3] - Strings and

    尽管语法简易,但String类型是一种快速、现代化的字符串实现。 每一个字符串都是由编码无关的 Unicode 字...

  • OneDayOneSwift[11] - Methods

    方法是与某些特定类型相关联的函数。 结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要...

  • OneDayOneSwift[13] - Inheritance

    一个类可以继承(inherit)另一个类的方法(methods),属性(properties)和其它特性。当一个类...

  • OneDayOneSwift[21] - Extensions

    扩展 就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的...

网友评论

      本文标题:OneDayOneSwift[15] - Deinitializ

      本文链接:https://www.haomeiwen.com/subject/naxlkttx.html