我试图在Swift中扩展Array<T>
以添加一个调用self.append
的函数。问题是Swift似乎不让我这样做 - 当我尝试以下代码时:
extension Array {
mutating func AppendObj<T>(obj: T) {
//...
self.append(obj);
}
}
它说&#39; T&#39;不能转换为&#39; T&#39;我认为这意味着&#39; T&#39;底层数组使用的可能与传递给AppendObj
的T不同。它也不允许我使用extension Array<T>
(&#34;使用未声明的类型T&#34;)。
是否有可能扩展&amp;在Swift中使用通用结构/方法?谢谢!
答案 0 :(得分:2)
您不应该为该函数指定泛型,它会覆盖现有模板。把它留下来:
extension Array {
mutating func AppendObj(obj: T) {
//...
self.append(obj);
}
}