我正在尝试在 Swift 中声明一个采用可选闭包的参数。我声明的函数如下所示:
class Promise {
func then(onFulfilled: ()->(), onReject: ()->()?){
if let callableRjector = onReject {
// do stuff!
}
}
}
但是 Swift 提示说“条件中的绑定(bind)值必须是可选类型”,其中声明了“if let”。
最佳答案
您应该将可选闭包括在括号中。这将正确地确定 ?
运算符的范围。
func then(onFulfilled: ()->(), onReject: (()->())?){
if let callableRjector = onReject {
// do stuff!
}
}
关于swift - 如何在 swift 中创建一个可选的闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395853/