swift 属性(willSet与didSet)

在学习中 看见了willset 这个词就去查了一下

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

{

print("Will set an new value (newValue) to age")

}

//我们需要在age属性发生变化后,更新一下nickName这个属性

didSet

{

print("age (oldValue) to (age)")

if age<10

{

nickName = "Little"

}else

{

nickName = "Big"

}

}

}

func toString() -> Strin{

return "Full Name: (fullName) " + ", Age: (age) "

}

}

var me = People()

me.firstName = "li"

me.lastName = "qian"

me.age = 20

print(me.toString())

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容