import UIKit
protocol Identifiable
{
}
protocol Storage
{
func test() -> Data<Identifiable>
}
class DiskStorage<T where T:Identifiable, T:NSCoding>:Storage
{
func test() -> Data<Identifiable>
{
return Data<T>() //error: T is not identical to Identifiable
}
}
class Data<T where T:Identifiable>
{
}
我曾认为可以使用符合协议的通用类型来调用引用该协议的方法。如何进行类型转换?我已经尝试了几乎所有的方式,但没有一种是有效的。也许我理解错了什么......是否有人可以提供帮助?非常感谢!
Data<SomeIdentifiableClass>
和Data<Identifiable>
没有任何关系。 - Bryan ChenDiskStorage<T: Identifiable, NSCoding> ...
。 - GoZoner