swift 属性(willSet与didSet)

作者: march_1991 | 来源:发表于2016-08-04 11:35 被阅读90次

    在学习中 看见了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())

    相关文章

      网友评论

        本文标题:swift 属性(willSet与didSet)

        本文链接:https://www.haomeiwen.com/subject/poucsttx.html