属性监听器

日期:2019-11-09编辑作者:摄影

配置参数

  • 特色:Ruige/瑞鸽TLS480HD-4 四联高清机架监视器 HD-SDI 超高清机柜监视器

查看完整参数>>

属性监听器

属性监听器。配置参数

  • 特色:视瑞特ST-689AH热销7寸摄影监视器5D2单反相机监视器摇臂监视器

查看完整参数>>

配置参数

  • 特色:必威平台,瑞鸽监视器 瑞鸽TL-S1700SD高清液晶监视器/17寸/SD-SDI/广电级

查看完整参数>>

  • 1> 和计算属性的set方法中的newValue一样,默认情况下载willSet和didSet中会有一个newValue和oldValue参数表示要设置的新值和已经被修改过的旧值(当然参数名同样可以自定义)
  • 2> 存储属性的默认值设置不会引起属性监视器的调用(另外在构造方法中赋值也不会引起属性监视器调用),只有在外部设置存储属性才会引起属性监视器调用
  • 3> 存储属性的属性监视器willSet、didSet内可以直接访问属性,但是在计算属性的get方法中不能直接访问计算属性,否则会引起循环调用
  • 4> 在didSet中可以修改属性的值,这个值将作为最终值
  • 5> 注意:newValue可以使用自定义值,并且在属性监视器内部调用属性不会引起监视器循环调用,注意此时修改avarageScore的值没有用
  • 注意:oldValue可以使用自定义值,并且在属性监视器内部调用属性不会引起监视器循环调用,注意此时修改avarageScore的值将作为最终结果
class Person {

    //1.存储属性
    var mathScore :Double = 0.0
    var chineseScore : Double = 0.0

    //最终成绩, 存储属性
    private var score: Double = 0.0

    init(x : Double){
        avarageScore = x
    }

    init() {
    }

    var avarageScore : Double = 0 {
        willSet {
            //newValue
            avarageScore = 2.0
            print("avarageScore即将发生改变 newValue = (newValue), value = (avarageScore)")
        }
        didSet {
            //oldValue
            avarageScore = 3.0
            print("avarageScore已经发生改变 oldValue = (oldValue), value = (avarageScore)")
        }
    }

}

let p = Person()
/*
//监听不到 存储属性
print("------")
print("默认值:(p.avarageScore)")

p.avarageScore = 11

print("最终平均值结果 (p.avarageScore)")
 */

//构造方法中赋值不会引起属性监视器调用
let p2 = Person(x: 11.1)
print(p.avarageScore)

本文由必威平台发布于摄影,转载请注明出处:属性监听器

关键词:

必威平台:函数参数,x和y都是属于

配置参数 特色: 南冠NG-T6240 LED摄影棚套装 小商品拍摄灯 鞋子 玩具 手机饰品专业拍照灯箱 查看完整参数 Python: 函数...

详细>>

捷信 GT3840C 3号组合式系列新火山石4节三脚架单反

配置参数 类型: 三脚架 材质: 捷信 GT3840C 3号组合式系列新火山石4节三脚架单反三角架。火山石 脚管节数: 4节 脚...

详细>>

加宝 QP225自拍架/自拍杆/自拍神器/自拍棒/自拍相

配置参数 类型: 独脚架 材质: 合金 脚管反折: 加宝 QP225自拍架/自拍杆/自拍神器/自拍棒/自拍相机架 黑色。不支持...

详细>>

必威平台南冠(Nanguang) CN-576 二灯套装 LED摄影灯

必威平台,必威平台南冠(Nanguang) CN-576 二灯套装 LED摄影灯 摄像灯 套装灯 常亮灯 新闻采访布光 影楼补光灯 2灯+6块...

详细>>