Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Generics 在Swift中扩展泛型?_Generics_Swift - Fatal编程技术网

Generics 在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',我假设这意味着

我试图在Swift中扩展
数组
,添加一个调用
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)中的小写字母开头。