gpt4 book ai didi

swift - lazy var 定义后的括号是做什么用的?

转载 作者:搜寻专家 更新时间:2023-11-01 05:35:24 30 4
gpt4 key购买 nike

我正在分析一些第三方代码,有一个看起来像这样的“惰性”var 语句,我想了解“计算属性”花括号后的括号在做什么:

lazy var defaults:NSUserDefaults = {
return .standardUserDefaults()
}()

“return .standardUserDefaults()”返回的是NSUserDefaults实例对象,为什么要在右花括号后面加一个()呢?

谢谢

最佳答案

这意味着它是第一次访问 defaults 时执行的 block 。如果没有 (),则意味着默认值是 () -> NSUserDefaults 类型的 block 类型变量。当您添加 () 时,这意味着它只是 NSUserDefaults,它由访问时执行的 block 返回。

关于swift - lazy var 定义后的括号是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832517/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com