Swift属性观察者
admin
2023-02-10 14:00:23
0

    为了监听属性的变化,Swift提供了属性观察者,属性观察者能够监听存储属性的变化,即便变化前后的值不同,它们也能监听到,但它们不能延迟存储属性和常量存储属性的变化


    Swift中的属性观察者主要有以下两种:


    1、willSet:观察者在修改之前调用;


    2、didSet:观察者在修改之后调用;


    属性观察者的语法如下:


    面向对象类型 类型名 {

            var 存储属性 : 属性数据类型 = 初始值 {

                willSet(新值){


}

                didSet(旧值){

                

}


}


}

        示例

        

        class Employee{

            var no:Int = 0

            var name:String {

                willSet(NewNameValue){

                    println("员工name的新值:\(NewNameValue)")

}

                didSet(oldNameValue){

                    println("员工name的旧值:\(oldNameValue)")

}

}

                var job:String?

                 var  salary:Double=0

                 var depet:Department? 

}


        struct Department {

                var no : Int = 10 {

                    willSet{

                    println("部门编号新值:\(newValue))")

}

}

                    didSet{

                       println("部门编号旧值\(oldValue)")

}


}


相关内容

热门资讯

今日重大发现“西南九九.可以开... 网上科普关于“西南九九有没有挂”话题很是火热,小编也是针对西南九九作*弊开挂的方法以及开挂对应的知识...
【今日要闻】“,728土豪版.... 家人们!今天小编来为大家解答,728土豪版透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪...
最新引进“皇豪互娱牛牛.可以开... 家人们!今天小编来为大家解答皇豪互娱牛牛透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
今日重大发现“星禾卡五星.真的... 您好:星禾卡五星这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
以赛促产聚动能 智绘蓝海新蓝图 为加快建设引领型现代海洋城市,推动海洋人工智能技术成果从“赛场”迈向“市场”,聚力打造海洋人工智能大...
终于懂了“边锋老友麻将.辅助开... 家人们!今天小编来为大家解答边锋老友麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
重磅消息“中州游戏.是不是有挂... 您好:中州游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
今日重大消息“手机麻将.辅助器... 网上科普关于“手机麻将有没有挂”话题很是火热,小编也是针对手机麻将作*弊开挂的方法以及开挂对应的知识...
今日重磅消息“快乐打筒子.怎么... 家人们!今天小编来为大家解答快乐打筒子透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
终于懂了“飞鹰互娱炸金花.开挂... 终于懂了“飞鹰互娱炸金花.开挂器?”详细开挂教程您好,飞鹰互娱炸金花这个游戏其实有挂的,确实是有挂的...