【发布时间】:2017-07-08 15:27:31
【问题描述】:
我创建了一个带有完成处理程序的函数。有时我需要使用完成块,有时不需要。
函数如下:
func numberCheck(number: String , completion : @escaping (Bool)->()){
//some task do here
completion(true)
}
使用:
numberCheck(number: "77" , completion: {_ in
//some task do here
})
但我想让它完成块为零:
numberCheck(number: "77" , completion: nil)
但它给了我一个错误:
Nil 与预期的参数类型 '(Bool) -> ()' 不兼容
【问题讨论】:
-
闭包的类型和其他类型一样,只需将其变成可选的附加
?,以使变量能够容纳nil。