博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算型属性 vs 懒加载
阅读量:6036 次
发布时间:2019-06-20

本文共 418 字,大约阅读时间需要 1 分钟。

  • 只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 ReadOnly 属性
  • 计算型属性本身不占用内存空间
  • 不可以给计算型属性设置数值
  • 计算型属性可以使用以下代码简写
var title: String {    return "Mr " + (name ?? "") }

计算型属性与懒加载的对比

  • 计算型属性
    • 不分配独立的存储空间保存计算结果
    • 每次调用时都会被执行
    • 更像一个函数,不过不能接收参数,同时必须有返回值
var title2: String {    return "Mr" + (name ?? "") }
  • 懒加载属性
    • 在第一次调用时,执行闭包并且分配空间存储闭包返回的数值
    • 会分配独立的存储空间
    • 与 OC 不同的是,lazy 属性即使被设置为 nil 也不会被再次调用
lazy var title: String = {    return "Mr " + (self.name ?? "") }()

转载地址:http://ugohx.baihongyu.com/

你可能感兴趣的文章
Pandas duplicated and drop_duplicates:查找并去除重复项
查看>>
Ransac 与 最小二乘(LS, Least Squares)拟合直线的效果比较
查看>>
如何使用Proxy模式及Java内建的动态代理机制
查看>>
综合应用WPF/WCF/WF/LINQ之四十:实现一个简单的DataGrid之CheckBox已勾选的项的保存...
查看>>
federated存储引擎实现跨服务器的数据访问
查看>>
《从零开始学Swift》学习笔记(Day60)——Core Foundation框架
查看>>
Java设计模式圣经连载(01)-简单工厂模式
查看>>
分享与快乐-我的Linux情结
查看>>
Android应用程序组件Content Provider的启动过程源代码分析(1)
查看>>
Azure运维系列 6:使用自定义映像创建虚拟机
查看>>
puppet成长日记二 Package资源详细介绍及案例分析
查看>>
AE+C# 向axPageLayoutControl1添加图例
查看>>
Hive Streaming 追加 ORC 文件
查看>>
打开Apache自带的Web监视器
查看>>
企业 SOA 设计(2)–组件化产品开发平台
查看>>
在笛卡尔坐标系上描绘函数2*x+Math.sqrt(5-x*x)及其共轭函数2*x-Math.sqrt(5-x*x)曲线
查看>>
Solr常用查询语法笔记
查看>>
EBS R11i,R12 导入导出数据库迁移(10g,11g) 以及 R11i, R12 数据库相关文档
查看>>
2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案
查看>>
串口硬流控原理验证RTS与CTS
查看>>