本文介绍了如何快速进行可选的关闭?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在Swift中声明一个参数,该参数需要一个可选的闭包.我声明的函数看起来像这样:
I'm trying to declare an argument in Swift that takes an optional closure. The function I have declared looks like this:
class Promise {
func then(onFulfilled: ()->(), onReject: ()->()?){
if let callableRjector = onReject {
// do stuff!
}
}
}
但是Swift抱怨说,"if let"声明时,条件中的绑定值必须是Optional类型".
But Swift complains that "Bound value in a conditional must be an Optional type" where the "if let" is declared.
推荐答案
您应该将可选的闭包括在括号中.这样可以正确确定?
运算符的作用域.
You should enclose the optional closure in parentheses. This will properly scope the ?
operator.
func then(onFulfilled: ()->(), onReject: (()->())?){
if let callableRjector = onReject {
// do stuff!
}
}
这篇关于如何快速进行可选的关闭?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!