Swift类专用协议为通用

时间:2017-11-07 13:43:58

标签: swift generics

我试图使用Swift 4将一个仅限类的协议指定为通用协议,但我无法让它工作。请考虑以下代码:

protocol SomeProtocol: class {
}

class Bar {
    var foo = Foo<SomeProtocol>()
}

class Foo<Element: AnyObject> {
}

这导致编译器错误:&#39; SomeProtocol&#39;不能兑换为任何对象&#39;。但是应该是这种情况,因为SomeProtocol是一个只有类的协议。

将AnyObject添加到协议规范中也没有什么不同。

0 个答案:

没有答案