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

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

你可能感兴趣的:(Swift_计算型属性与懒加载的对比)