如果这看起来太简单了,我很抱歉,我是 Swift 的新手。但我无法从任何地方找到答案。
我试图理解下面的语法。代码有 =
然后 {..}()
为什么需要 ()
最后还有 =
符号为了 ?
var productLines: [ProductLine] = { return ProductLine.productLines() }()
我知道计算变量类似于..下面的内容
var varA: [arrayOutput] { return someArray }
在 swift 中,={ return something }()
到底是什么意思?
最佳答案
您看到的是一个用于设置变量初始值的闭包。闭包可以描述为匿名代码块。
这是您的代码的样子:
var productLines: [ProductLine] = { return ProductLine.productLines() }()
让我像这样扩展您的代码:
var productLines: [ProductLine] = { () -> [ProductLine] in
return ProductLine.productLines()
}()
闭包本身由以下代码组成
{ () -> [ProductLine] in
return ProductLine.productLines()
}
两个圆括号()
用于执行闭包。
所以你看到的不是计算属性。因此,您之后可以像这样更改 productLines
的值:
productLines = [ProductLine]()
如果它是一个计算属性,你会得到这样的错误:
Cannot assign to property: productLines is a get-only property
关于使用 var ={}() 的快速语法是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35871409/