欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ios-Swift的只读属性和懒加载对比

程序员文章站 2022-11-05 11:57:29
在swift中的只读属性可以这么写 var title1:string? { get { return "mm" +...

在swift中的只读属性可以这么写

var title1:string? {
        get
        {
          return "mm" + (opti ?? "")
        }
    }
简写是这样的
  var title2:string?
    {
        return "mr" + (opti ?? "")
    }
还有种叫法叫做计算型属性,每一次调用的时候都会去执行{ }中的代码,结果是取决于其他属性,每一次都要去计算,比较耗性能,不需要去开辟额外的空间,就是上面那种情况

懒加载,第一次调用的时候回去执行闭包,然后在下面这个变量中保存执行结果,再次调用的时候就不会再去执行闭包了,会直接的返回结果,这个只需要计算一次,因为是懒加载,需要开辟单独的空间去保存计算的结果。计算量大的时候可以使用这个。

闭包其实就是一个提前准备好的代码,在需要的时候去执行。

 lazy var title3: string? = {
        
        return "mmm" + (self.name ?? "")
        
    }()