swift学习 -> 计算型属性(rendonly)、didSet、懒加载(lazy)

一、gitter setter

在oc中都有git、和set方法,swift同样也有;已name:string? 为列!

    //gitter setter 日常开发不用
    private var _name:String?
    var name:String?{
        get{
            //返回 _成员变量
            return _name
        }
        set{
            //使用 _成员变量 记录 值
            _name = newValue
        }
        
    }


二、 计算型属性、rendonly

    //oc中有一个rendonly -> swift中只写 getter 方法就表示此属性只读了
    var title:String?{
        get{
            return "MR + \(name ?? "")"
        }
    }
    //也可以不要get方法 直接return
    //只读属性称为计算型属性;本身不保存内容,通过计算获取;类似于一个无参数有返回值的函数
    var age:String?{
        return "MR + \(name ?? "")"
    }


三、didset

    //重写didset方法根据模型设置ui界面
    var model:Model?{
        didSet{
            name = "传入的model.属性"
        }
    }


四、懒加载(lazy)


    //实现懒加载;作用能够延迟创建,需要的时候才加载,可以减少解包的烦恼
    //懒加载只有第一次调用才执行;当属性再次置为nil创建时不会执行懒加载;而oc的懒加载可以
    private lazy var label:CustomLabel = CustomLabel()
    //懒加载实际是一个闭包 完整写法
//    lazy var label = {
//        () -> CustomLabel in
//        
//        let l = CustomLabel()
//        
//        return l
//    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值