这是我的闭包函数声明
func isTextValid(input: String, completion: (result: Bool) -> ()) {
if input == "Hello" {
completion(result: true)
}
else {
completion(result: false)
}
}
当我像这样调用下面的函数时,它不会打印“假”的正确结果,而是打印“(0个元素)”
isTextValid("hi", { (result) -> () in
println(result)
})
但是当我编写如下代码时,它工作得非常好。
isTextValid("hi", { (result) -> () in
if result == false {
println(result)
}
})
// 或者
isTextValid("hi", { (result) -> () in
if result == false {
}
println(result)
})
我是 Swift 编程语言的新手,最近尝试使用 Swift 语言,但对闭包的语法和使用完全感到困惑。任何人都可以帮助解释这两种语法有什么区别,为什么它在第二种语法中可以正常工作,但在第一种语法中不能正常工作。
提前致谢。快乐编码。