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

计算型属性

  • 不分配独立的的储存空间保存计算结果
  • 每次调用都会被执行
  • 更像一个函数 不过不能接受参数 同时必须有返回值
var name:String? var tittle :String { return "Mr" + (name ?? "") }

懒加载属性
  • 第一次调用时,执行闭包并且分配空间存储闭包返回的数值
  • 会分配独立的存储空间
  • 与OC不同的是,lazy属性即使被设置为nil 也不会被再次调用
var name:String? lazy var Tittle:String = { return "lazy" + (self.name ?? "") }()

    推荐阅读