作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个泛型类型,我想为其添加扩展,但编译器提示泛型未声明。
这是我正在尝试做的事情:
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>
添加扩展名?
最佳答案
就这样做:
extension MyGenericType {
public convenience init(value: String, defaultValue: T) {
self.init()
print(value)
}
}
来自documentation :
When you extend a generic type, you do not provide a type parameter list as part of the extension’s definition. Instead, the type parameter list from the original type definition is available within the body of the extension, and the original type parameter names are used to refer to the type parameters from the original definition.
关于swift - 如何为泛型类型添加扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815396/
我是一名优秀的程序员,十分优秀!