Swift 个人学习笔记 - 09: 属性
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:http://www.52php.cn/article/p-badkhfnt-d.html Reference:原版:The Swift Programming Language 属性属性可以分为
在类的内部,可以定义属性观察器,实现在属性变化前和变化后做相应的处理。 存储属性使用 延迟存储属性使用 需要注意的是: 计算属性提供一个 struct Rect { var origin = Point() var size = Size() var center: Point { get { ... return ... } set (newCenter) { // 如果不显式指定变量名的话,则默认为 “newValue” ... } } } 如果只提供了 getter 就表示这是一个只读属性。 属性观察除了 lazy 属性之外,所有属性都可以观察,主要是 class StepCounter { var totalSteps: Int = 0 { willSet (newTotalSteps) { // 同理,默认名为 “newValue” ... } didSet { ... // 这里有一个默认值 “oldValue”,用来标示老值 } } } 类型属性这种属性,在所有同一类型的类的所有实例仅有一个拷贝。必须赋予一个默认值,不可以使用 lazy 关键字。使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |