[英]Swift 2 Function enforcing Class and Protocol adherence, Generic parameter could not be inferred
我有以下代码,让我切换从任何视图控制器远到任何其它一个,参数需要是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
}
您的CustomViewController不符合Delegatable,在尝试将其传递给函数时会产生该编译器错误。 错误消息并不完全有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.