我在viewController类外声明了一个闭包,我在viewController类内创建了一个该闭包的变量,但它显示缺少此闭包的默认初始化器错误。
我了解变量和常量声明以及默认初始化必须在声明时分配的后果。但是我无法理解我的闭包的默认初始化可以是什么,我尝试了一些方法来解决它,但没有成功。
这是我的闭包声明:
typealias completionBlock = (String) -> ()
这是我的闭包变量声明,提示需要初始化它。
class ViewController: UIViewController {
var completionHandler: completionBlock = // What could be the default initializer to this closure
override func viewDidLoad() {
super.viewDidLoad()
}
}
我希望能够在获取到必要的值时调用此代码块,就像Objective-C中外部completionBlock声明一样。
completionBlock?
或completionBlock!
(如果您100%确定它将被设置)。 - luk2302