我有代表非泛型结构的代码:
struct rum {
var prop = "Hello"
}让我们假设我需要为这个Struct创建一个扩展来接收泛型类型。为此,我尝试使用以下代码:
extension rum <T>{
func release(bo: T){
println(T)
}
}但是Xcode给了我许多错误,即rum没有泛型类型。但其想法是创建一个非泛型结构并将其转换为泛型结构。有可能吗?
发布于 2015-08-09 21:37:15
如果rum是一个类,您将获得更大的灵活性,因为您可以从中派生出一个泛型类,并在该泛型类上定义一个扩展。但是,struct是一个值类型,因此不能从它派生类。
由于rum不是泛型struct,所以需要使扩展方法成为通用方法,如下所示:
extension rum {
func release<T>(bo: T){
println(prop)
println(bo)
}
}不幸的是,这意味着您希望成为泛型的所有扩展方法都需要使用<T>进行修饰。
https://stackoverflow.com/questions/31909042
复制相似问题