swift语法--11getter&setter方法

swift语法--11getter&setter方法


//很据OC习惯,我们会重写setter和getter方法
var name: String?
        {
        set{
            _name = newValue
        }
        get{
            return _name
        }
    }
swift中的setter方法

但在Swift开发中,我们用一下两种方法代替setter方法

OC中重写setter方法的目的一般也是为了监督值改变

var name: String?
{
//在Swift开发中用以下两个方法代替OC中的重写setter方法
//willSet会在赋值之前调用
//didSet在赋值完成之后调用
//这里系统会提供两个值,newValue和oldValue
    willSet{
        print("赋值之前调用 \(newValue)")
    }
    didSet{
        print("赋值之后调用 \(oldValue)")
    }
}
Swift中的getter方法
var age: Int
    {
        // 在Swift中如果只重写了get方法, 那么该属性就是一个只读属性readOnly
        // 如果一个属性只重写了get方法, 我们也称之为"计算型属性", 计算型属性是不具备存储能力的
        get{
            return 99
        }
    }

如果只是想重写一个属性的get方法, 那么可以简写 return 99

var age: Int
    {
        return 99
    }

你可能感兴趣的:(swift语法--11getter&setter方法)