如何从Swift IOS中的Lazy Var中清除价值



我在应用程序中使用懒惰var。懒惰量仅初始化一次。当我从托盘中删除应用程序时,它将用新值清除并初始化。我们可以在前景状态清除懒惰的var吗?如何从Swift IOS中的Lazy Var中清除价值?

事实是 lazy vars不是常数。您总是可以在其中设置值。他们只是在需要时会初始化,一旦它们内部有值,他们就会返回该值。因此,使用封闭来"创建"值。

让我们使用此信息,以这种方式与Lazy Var一起玩。在这里,我们使用了另一个懒惰的VAR闭合来捕获整数存储的属性值,并成功将其重新分配到了懒惰变量。

class Test {
    var fooValue:Int = 20
    lazy var foo = {() -> Int in
        print("foo called")
        return self.fooValue*3
    }
    lazy var value:Int = foo()
}
let test = Test()
test.value // foo called
test.value // prints 60
test.fooValue = 40
test.value = test.foo() // foo called
test.value // prints 120

最新更新