如何为泛型类型添加扩展?

时间:2016-03-05 14:39:28

标签: swift generics swift2

我有一个泛型类型,我想添加一个扩展名,但编译器抱怨没有声明泛型。

以下是我要做的事情:

public class MyGenericType<T> {
    let abc = 123
}

extension MyGenericType<T> { // Error: Use of undeclared type 'T'

    public convenience init(value: String, defaultValue: T) {
        self.init()

        print(value)
    }

}

是否可以为MyGenericType<T>添加扩展程序?

1 个答案:

答案 0 :(得分:0)

只是做:

const Vector&

来自documentation

  

扩展泛型类型时,不提供类型参数列表作为扩展定义的一部分。相反,原始类型定义中的类型参数列表在扩展的主体中可用,原始类型参数名称用于引用原始定义中的类型参数。