我试图在Swift中声明一个参数,它接受一个可选的闭包。我声明的函数看起来像这样:
class Promise{ func then(onFulfilled: ()->(),onReject: ()->()?){ if let callableRjector = onReject { // do stuff! } } }
但Swift抱怨“条件中的绑定值必须是可选类型”,其中“if let”被声明。
您应该将可选闭包括在括号中。这将适当范围?运算符。
func then(onFulfilled: ()->(),onReject: (()->())?){ if let callableRjector = onReject { // do stuff! } }