gpt4 book ai didi

function - Swift - 如何在函数的参数中传递带有参数的函数?

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:51 24 4
gpt4 key购买 nike

我知道标题听起来很复杂,但问题不是。

我有这个 Swift 代码:

class MyClass {
let helloWorld: (check: Bool)->()

init(helloWorld: (check: Bool)->()) {
self.helloWorld = helloWorld
}
}

let instanceOfMyClass = MyClass(helloWorld: (check: Bool) -> {

})

这给了我一个错误。最后一条指令的正确语法是什么?

谢谢!

最佳答案

你可以使用这个:

let instanceOfMyClass = MyClass(helloWorld: { (check) in println(check) } )

但是如果闭包是最后一个参数,你可以使用 trailing closure 语法,其中闭包写在函数(在您的情况下为 init)括号之外 - 这更易于阅读:

let instance = MyClass() { (check) in
println(check)
}

还有其他快捷方式来定义闭包,比如这个:

let instance2 = MyClass() { println($0) }

但我建议您阅读整个 closure chapter在官方的 swift 书中。

注意:在我上面的代码中,将 println(...) 替换为您的实际处理

关于function - Swift - 如何在函数的参数中传递带有参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com