Swift 我的收尾有什么问题?

Swift 我的收尾有什么问题?,swift,closures,Swift,Closures,无法将表达式的类型“()->()->ST0”转换为类型“()->”() ->ST0' 上盖有什么问题。如果我删除for循环,它会起作用。不确定该语法为什么不起作用(我也认为它应该起作用),但这是完整语法的简化情况 let asdf = { println("df") for i in 1...10 { } } 这确实有效。因为它不是在一个上下文中期望一个闭包,所以它没有将它解释为一个闭包 通过将asdf声明为闭包,它现在需要

无法将表达式的类型“()->()->ST0”转换为类型“()->”() ->ST0'


上盖有什么问题。如果我删除for循环,它会起作用。

不确定该语法为什么不起作用(我也认为它应该起作用),但这是完整语法的简化情况

    let asdf = {

        println("df")

        for i in 1...10 {

        }
    }

这确实有效。

因为它不是在一个上下文中期望一个闭包,所以它没有将它解释为一个闭包

通过将asdf声明为闭包,它现在需要一个闭包,因此接受缩写语法:

let asdf = { () -> () in
            println("df")

            for i in 1...10 {
                println(i)
            }
        }

asdf()
或者,您可以使用Grimxn指出的完整语法

let asdf :()->() = {

    println("df")

    for i in 1...10 {
    }
}