swift语言的学习笔记十二(willSet与didSet)

来源:互联网 发布:ibm电池修复软件 编辑:程序博客网 时间:2024/05/29 18:01

在Swift语言中用了willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化

无需说太多,看看下面的代码你就能很快明白的

复制代码 
import Foundation

class 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 = 20

println(me.toString())

/*程序输出 
Will set an new value 20 to age 
age filed changed form 0 to 20 
Full Name: Big Zhang San , Age: 20 
*/


0 0
原创粉丝点击