以下代码(为简洁而剥离):
private lazy var googleViewController = {
return GoogleSignInViewController()
}()
private lazy var timerViewController = {
return TimerViewController()
}()
产生此错误:
MainViewController.swift:26:6:无法调用类型'() - >的闭包UIViewController中'使用类型'()'
的参数列表
明确键入我的一个视图控制器可以解决问题:
private lazy var timerViewController: TimerViewController = {
return TimerViewController()
}()
但是,我还没有理解错误的根本原因以及解决问题的原因。我假设它与类型推断有关,但不确定细节。我的代码发生了什么?
我确实意识到我不需要在上面的代码中使用闭包,它意味着是说明性的代码