zoukankan      html  css  js  c++  java
  • swift学习笔记(六)析关闭过程和使用分配给属性的默认值

    一。通过关闭和功能的默认实现财产值

    当存储属性默认值需要定制,能为客户提供通过关闭或全局函数的自定义默认值。

    注意:全局函数的结构,和枚举使用keywordstatic大喊    用classkeyword标注

    当对一个属性使用闭包函数进行赋值时。每当此属性所述的类型被创建实例时,相应的闭包或函数会被调用,而他们的返回值会被作为属性的默认值。

    ESC:

    Class SomeCLass{
    let  someProperty:SomeType={
    //给someProperty赋一个默认值
    //返回一个与SomeType类型同样的Value
    return someValue
    }()//以()结束作为闭包函数的标志
    }//圆括号是为了告诉编译器要立马运行此闭包。

    假设省略圆括号,则将整个函数赋给属性,而非返回值

    注意:在使用闭包给属性赋值时。实例的其它部分都还没有进行初始化,意味着不能在闭包里,訪问其它属性,就算这个属性有默认值也不行。同一时候也不能使用隐式的self,或者调用其它的实例方法


    二、析构过程

    swift会自己主动释放不再须要的实例,但对于某些自己创建的实例对象。就须要手动通过析构过程去释放对象。

    析构过程仅适用于类类型。

    每一个类做多仅仅能有一个析构函数,语法例如以下:

    deinit{
    //析构过程
    }
    整个函数不含參数和()
    关于继承。子类会自己主动继承父类的析构函数。在子类的析构函数的最后,会自己主动调用父类的析构函数。并不须要手动调用super.deinit

    即使子类并没有提供它自己的析构函数,父类的析构函数会被调用

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    (转)bash内置命令mapfile:读取文件内容到数组
    new 一个接口?
    Linq的一些操作符图表展示
    StreamReader 和文件乱码
    XSLT 的调试
    不一样的大小写转换
    一些可能没用过的调试窗口
    私人工具分享:博客下载工具
    简单的实例来理解WCF 数据服务
    谈谈char ,nchar,varchar,nvarchar 和Uniqueidentifier
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4871081.html
Copyright © 2011-2022 走看看