swift学习 -> 计算型属性(rendonly)、didSet、懒加载(lazy)
2017-07-11 09:21
531 查看
一、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 // }
相关文章推荐
- Swift 学习一函数&函数属性&懒加载
- Swift 中计算型属性 和 懒加载 的区别
- swift计算型属性与懒加载的对比
- Swift 系统学习 21 存储型属性和计算型属性 下标语法
- 020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性
- Swift 系统学习 24 类相关 存储属性 计算属性 类型属性 延迟加载属性
- 013--swift计算型属性和懒加载的区别
- swift学习日志—— lazy懒加载
- 学校学习ios教程笔记,第七节swift中的类与对象的属性和懒加载
- 018 关联映射文件中<class>标签中的lazy(懒加载)属性
- Hibernate 的延迟加载【lazy】属性
- 深入学习Django源码基础4 - python的动态延时加载技术(lazy)
- java 从零开始,学习笔记之基础入门<对象_属性>(二)
- C# 基础概念之延迟加载 Lazy<T>
- C# 4.0 延迟加载 Lazy<>用法
- Ember学习(4):计算型属性
- hibernate的load方式加载lazy属性的pojo出错
- System.Lazy<T>延迟加载
- 学习HTML5开发RPG游戏第二步>资源预加载
- html系统学习之六 <CSS所有的样式属性>