第8篇:swift语言笔记:属性与下标关键点

1.属性

  class Class1 : parentClass {

      var property1 : Int /*变量存储属性*/

      let property2 : Int /*常量存储属性*/

      lazy var property3 : Int /*延迟属性*/

      var property4 : Int = 0 /*给属性默认值*/

      var property5: Int { /*计算属性*/

          get {

              return property1 * 2

          }

          set (newValue) {

              property1 = newValue / 2

          }

      }

      var property6 : Int { /*只读计算属性*/

          return property2 * 3

      }

      var property7 : Int = 0 { /*属性观察者*/

          willSet(newValue) {

              if newValue < 0 {

                  property7 = 0

              }

          }

           didSet(newValue) {

           ...

           }

      }

  }

  a).属性有存储属性和计算属性,存储属性又包括常量属性(let修饰)和变量属性(var修饰),

  b).延迟属性:使用“lazy”关键字,可以使属性在第一次使用时才加载,这样能够节省内存资源,建议尽量使用;

  c).属性观察者:willSet()和didSet(),可以用来监控属性设置前后状态,可供在编程时加入必要的处理;

  d).属性观察者:不能用于延时属性;

  e).结构体和枚举的属性定义,与类的属性定义类似;

  f).有属性观察者的属性,定义时需设置默认值;

  g).静态属性:

    结构体和枚举使用“static”关键字声明静态属性;

    类使用“class”关键字声明静态属性;

    静态属性作用与c++类似;

  h).类不能定义“静态存储属性”;

  i).枚举不能定义“实例存储属性”;结构体全支持;

  注:h、i项中的面向对象属性有:“实例存储属性”、“静态存储属性”、“实例计算属性”、“静态计算属性”。

2.下标

  a).使用“subscript”关键字,如:

    class Class1 {

        var property1 : Int

        ...

        subscript(index : Int) -> Int {

            get {

               return index

            }

            set(newValue) {

                ...

            }

        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值