swift的willSet、didSet、get、set函数

来源:互联网 发布:淘宝卖的浪琴是真的吗 编辑:程序博客网 时间:2024/04/30 10:23

willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化,一个监听改变之前 一个监听改变之后的属性

get就是Oc中的get函数 set就是OC中的set函数

简单举例

class Person : NSObject{

    

    var variable1 :Int = 0 {

        willSet {

            print("before change variable2:\(variable2)")

        }

        didSet {

            ifvariable1 > 10 {

                variable2 = 30;

            }

            print("after change variable2:\(variable2)")

        }

    }

    

    var variable2:Int? = 10

   

var variable3: Int {

        get {

            return variable2 + 2

        }

        set (newValue){

      }

    }

}


let p1 = Person()

p1.variable1 = 12


打印的结果

before change variable2: 10

after change variable2: 30


0 0
原创粉丝点击