2
我分析分析一些第三方的代码,并有看起来像这样的“偷懒” var语句,我想了解一下括号内的“计算的财产”大括号后做:惰性var定义之后括号做了什么?
lazy var defaults:NSUserDefaults = {
return .standardUserDefaults()
}()
“return .standardUserDefaults()”正在返回NSUserDefaults实例对象,那么为什么要在右大括号后面添加一个()?
谢谢
谢谢,是的,这是有道理的。令我困惑的是,花括号使它看起来像没有得到的“计算属性”。编译器如何知道它不是一个计算属性,而是一个块/闭包? – malena
块末尾的()表示块调用,而不是块本身。 –
我还没有完全理解它 - 它是封闭的吗?有没有详细解释呢?这个解释(似乎确定)必须在Apple的快速文档中......我可以在哪里找到它?我还想知道在一本好的Swift书中能找到什么?我搜查了苹果书和其他书籍,但没有发现任何东西 – mlev