如何在 Swift 中创建立即调用的函数(块)
How to create immediately invoked functions (blocks) in Swift
我需要在 Swift 中创建一个自执行块,类似于我们在 Objective C 中的内容:
{
/* statements */
}
但是 Swift 中的相同构造产生 "braced block of statements in unused block"。
目前,我使用:
if true {
/* ... */
}
欢迎任何更好的解决方案。
更新 2: Swift 2 现在有一个新的控制结构 do
:
do {
/* ... */
}
更新:找到另一个答案here:
func locally(work: () -> ()) {
work()
}
...
locally {
/* ... */
}
这看起来不错,除了由于 Swift 的规则,您必须在块内使用 self.property
而不是仅 property
。
我需要在 Swift 中创建一个自执行块,类似于我们在 Objective C 中的内容:
{
/* statements */
}
但是 Swift 中的相同构造产生 "braced block of statements in unused block"。
目前,我使用:
if true {
/* ... */
}
欢迎任何更好的解决方案。
更新 2: Swift 2 现在有一个新的控制结构 do
:
do {
/* ... */
}
更新:找到另一个答案here:
func locally(work: () -> ()) {
work()
}
...
locally {
/* ... */
}
这看起来不错,除了由于 Swift 的规则,您必须在块内使用 self.property
而不是仅 property
。