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 ?? "") }()