大家一定很熟悉Object-c中的观察者模式吧。Swift提供了一种更加简单的实现方式
当我们需要对对象的属性值进行赋值的时候,可以使用willSet和didSet进行对象属性值变化的观察。
我们直接看一个例子吧。创建一个类 Student 对属性 name进行监测
首先是Student类的定义
class Student{ init(name:String){ userName=name; } var userName:String=""{ willSet{ println("Student name newValue:\(newValue)") } didSet{ println("Student name oldValue:\(oldValue)") } } }
然后我们对Student进行初始化修改他的userName 试试看效果
var student=Student(name: "张三")//注意,初始化的时候是不调用监测方法的 student.userName="lisi"
打印结果如下
Student name newValue:lisi
Student name oldValue:张三
很简单吧,有问题可以继续讨论
苹果开发群 :414319235 欢迎加入 欢迎讨论问题