我真的需要制定一个更好的标题。
无论如何,这就是我所拥有的:
protocol DataType {}
struct MyData: DataType {}
protocol InterfaceFoo {
func getValue() -> DataType
func getAnother(data: DataType)
}
我尝试将InterfaceFoo
的{{1}}用作返回类型和参数,而不是MyData
。
但是编译器不会让我通过:DataType
Type 'InterfaceFoo' does not conform to protocol 'InterfaceFoo'
由于class MyFoo: InterfaceFoo
{
func getValue() -> MyData { return MyData() }
func getAnother(data: MyData) {}
}
符合MyData
协议,为什么它不能通过该称呼?
还有其他方法可以实现这一目标吗?