码迷,mamicode.com
首页 > 其他好文 > 详细

swift学习笔记(六)析构过程和使用闭包对属性进行默认值赋值

时间:2014-06-22 22:28:17      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:class   blog   code   使用   2014      

一。通过闭包和函数实现属性的默认值

当某个存储属性的默认值需要定制时,可以通过闭包或全局函数来为其提供定制的默认值。

注:全局函数结构体和枚举使用关键字static标注    函数则使用class关键字标注

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

ESC:

Class SomeCLass{
let  someProperty:SomeType={
//给someProperty赋一个默认值
//返回一个与SomeType类型相同的Value
return someValue
}()//以()结束作为闭包函数的标志
}//圆括号是为了告诉编译器要立刻执行此闭包。如果省略圆括号,则将整个函数赋给属性,而非返回值

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


二、析构过程

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

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

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

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

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

swift学习笔记(六)析构过程和使用闭包对属性进行默认值赋值,布布扣,bubuko.com

swift学习笔记(六)析构过程和使用闭包对属性进行默认值赋值

标签:class   blog   code   使用   2014      

原文地址:http://blog.csdn.net/jidiao/article/details/32909879

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!