我试图在Swift中扩展Array<T>,以添加一个调用self.append的函数。问题是Swift似乎不允许我这样做--当我尝试以下代码时:
extension Array {
mutating func AppendObj<T>(obj: T) {
//...
self.append(obj);
}
}它说'T‘不能转换到'T’,我假设这意味着基础数组使用的'T‘可能与传递给AppendObj的T不同。它也不允许我使用extension Array<T> (“未声明类型T的使用”)。
是否可以在Swift中扩展和使用泛型结构/方法?谢谢!
发布于 2014-06-09 03:14:57
您不应该为函数指定泛型,它会重写现有的模板。别说了:
extension Array {
mutating func AppendObj(obj: T) {
//...
self.append(obj);
}
}https://stackoverflow.com/questions/24113186
复制相似问题