willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化,一个监听改变之前 一个监听改变之后的属性
get就是Oc中的get函数 set就是OC中的set函数
简单举例
class Person : NSObject{
var variable1 : Int = 0 {
willSet {
print("before change variable2: \(variable2)")
}
didSet {
if variable1 > 10 {
variable2 = 30;
}
print("after change variable2: \(variable2)")
}
}
var variable2: Int? = 10
var variable3: Int {
get {
returnvariable2 + 2
}
set (newValue){
}
}
}
let p1 = Person()
p1.variable1 = 12
打印的结果
before change variable2: 10
after change variable2: 30
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。