代码如下:
class People: NSObject {
// 普通属性
var firstName : String = ""
var lastName : String = ""
var nickName : String = ""
// 计算属性
var fullName : String {
get{
return nickName + "" + firstName + "" + lastName
}
}
// 带属性监视器的普通属性
var age: Int = 0 {
// 我们需要在get 属性变化前做点什么
willSet {
print("给age重新赋值\(newValue) to age")
}
// 我们需要在age 属性发生变化后,更新一下nickName 这个属性
didSet {
print("age 从 \(oldValue) 改变成 \(age)")
if age < 10 {
nickName = "看我多小"
}else{
nickName = "看我多大"
}
}
}
func toSting() -> String {
return "fullName:\(fullName) + Age:\(age)"
}
}
var me = People()
me.firstName = "张"
me.lastName = "四"
me.age = 20
print(me.toSting())