我有以下代码让我从任何视图控制器切换到任何其他视图控制器,参数必须是符合NSViewController
协议的Delegatable
。
当我在第3行调用该函数时,我得到Generic parameter 'C' could not be inferred
。
func foo() {
var viewController = CustomViewController()
showViewForController(&viewController)
}
private func showViewForController<C:NSViewController where C:Delegatable>(inout viewController: C) -> Void {
currentVC?.removeFromParentViewController()
currentVC?.view.removeFromSuperview()
viewController.delegate = self
addChildViewController(viewController)
self.view.addSubview(viewController.view)
currentVC = viewController
}
答案 0 :(得分:0)
您的CustomViewController不符合Delegatable,这会在尝试将其传递给您的函数时给出编译器错误。但错误信息并非完全有用。