Swift3.0 -- get & set 方法

1.Swift中的get & set 方法

定义一个Person类

class Person: NSObject {
    
    //getter & setter 仅供演示,日常开发不用
    var _name: String?
    
    var name: String? {
        get{
            //返回成员变量
            return _name;
        }
        set{
            //使用 _成员变量 记录值
            _name = newValue;
        }
    }
}

2.只读属性 readonly,计算型属性

class Person: NSObject {
    
    var name: String?
    
    //OC中定义属性的时候,readonly,重写getter方法
    var title: String {
        //之重写了getter方法,没有重写setter方法
        //就是只读属性
        get{
            return "Mr." + (name ?? "");
        }
    }
    
    //只读属性的简写,直接 return
    //又称为计算型属性,本身不储存内容,都是通过计算获得结果
    //类似于一个函数,没有参数,有返回值
    var titleTwo: String {
        return "xxxx" + (name ?? "");
    }
}
3.计算型属性和懒加载的区别

计算型属性,本身不储存内容,都是通过计算获得结果,类似于一个函数,没有参数,有返回值。

懒加载会在第一次访问执行,闭包结束后,会把结果存在属性中,后续调用,直接返回属性的内容,懒加载的属性会分配空间存储值。

你可能感兴趣的:(Swift)