Swift中的willSet与didSet
来源:互联网 发布:淘宝盗图不被投诉 编辑:程序博客网 时间:2024/05/16 01:47
在Swift语言中用了willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化
无需说太多,看看下面的代码你就能很快明白的
import Foundationclass People : NSObject{ //普通属性 var firstName:String = "" var lastName:String = "" var nickName:String = "" //计算属性 var fullName:String { get { return nickName + " " + firstName + " " + lastName } } //带属性监视器的普通属性 var age:Int = 0 { //我们需要在age属性变化前做点什么 willSet { println("Will set an new value \(newValue) to age") } //我们需要在age属性发生变化后,更新一下nickName这个属性 didSet { println("age filed changed form \(oldValue) to \(age)") if age<10 { nickName = "Little" }else { nickName = "Big" } } } func toString() -> String { return "Full Name: \(fullName) " + ", Age: \(age) " } }var me = People()me.firstName = "Zhang"me.lastName = "San"me.age = 20println(me.toString())/*程序输出Will set an new value 20 to ageage filed changed form 0 to 20Full Name: Big Zhang San , Age: 20*/
//监听类的属性改变class Person{ var name : String = ""{ //属性监听器:选中其中之一即可 //监听属性即将发生改变,还没有改变 willSet(newValue){ print(newValue)//"why" print(name) //"" print("属性即将改变") } //监听属性已经发生改变,已经改变 didSet(oldValue){ print(oldValue) //"" print(name) //"why" print("属性发生改变") } }}let p = Person()p.name = "why"
阅读全文
0 0
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet
- Swift中的willSet与didSet zhuan
- Swift中的willSet与didSet(重写属性的Set方法)
- Swift中的willSet和didSet的用法
- Swift - 属性观察者(willSet与didSet)
- Swift - 属性观察者(willSet与didSet)
- swift 属性(willSet与didSet)
- swift willSet didSet
- swift语言的学习笔记十一(willSet与didSet)
- swift语言的学习笔记十二(willSet与didSet)
- plsql数据库配置与使用
- java学习 ————— 基本类型的封装类
- Angular4搭建在线可竞拍网站
- 揭开神经网络加速器的神秘面纱之DianNao
- es6 扩展运算符 三个点(...)
- Swift中的willSet与didSet
- 多周期CPU实验
- 胖五加油!作为程序员_该如何去挽救一个失败的项目?
- JAVA ArrayList集合add(int index, E element)方法源码简单分析
- PO和VO的区别
- C/C++游戏外挂基础01 CE的使用
- 直接复制商城代码注意事项
- How to collect RDS MySQL metrics
- 强大的PyTorch:10分钟让你了解深度学习领域新流行的框架