Generics 在Swift中扩展泛型?
我试图在Swift中扩展Generics 在Swift中扩展泛型?,generics,swift,Generics,Swift,我试图在Swift中扩展数组,添加一个调用self.append的函数。问题是Swift似乎不允许我这样做-当我尝试以下代码时: extension Array { mutating func AppendObj<T>(obj: T) { //... self.append(obj); } } 扩展数组{ 变异函数AppendObj(obj:T){ //... 自我附加(obj); } } 它说'T'不能转换为'T',我假设这意味着
数组
,添加一个调用self.append
的函数。问题是Swift似乎不允许我这样做-当我尝试以下代码时:
extension Array {
mutating func AppendObj<T>(obj: T) {
//...
self.append(obj);
}
}
扩展数组{
变异函数AppendObj(obj:T){
//...
自我附加(obj);
}
}
它说'T'不能转换为'T',我假设这意味着基础数组使用的'T'可能与传递给AppendObj
的T不同。它也不允许我使用扩展数组(“使用未声明的类型t”)
是否可以在Swift中扩展和使用通用结构/方法?谢谢 不应该为函数指定泛型,它会覆盖现有模板。别提了:
extension Array {
mutating func AppendObj(obj: T) {
//...
self.append(obj);
}
}
这…很有道理xD谢谢!如果我可以提出一个建议,请不要调用您的方法
AppendObj
。相反,可以将其称为appendObj
。方法名称应以Swift(和Obj-C)中的小写字母开头。