符合协议的类作为Swift Error中的函数参数

时间:2017-06-07 07:20:54

标签: swift

我目前在Swift 3.1中,以下代码无法编译。

    kb.buildAll();

    results = kb.getResults();

错误消息是

  

通用参数' T'无法推断

1 个答案:

答案 0 :(得分:3)

错误有点误导,但你错过了参数标签。你需要这样做:

foo(view: MyView())

或者如果您不想删除它,可以将方法定义更改为:

func foo<T: UILabel>(_ view:T) where T: HeaderDisplayable{
    view.setTitle("HEY")
}

任何一个版本都可以正常工作。