我试图在Swift中向泛型类添加一个类型(aka静态)方法.这是代码.
class StateArchive<T> {
class func emptyAllArchives() {
// do something
}
}
// the compiler emits an error: "Argument for generic parameter 'T' could not be inferred"
StateArchive.emptyAllArchives()
Run Code Online (Sandbox Code Playgroud)
我可以通过提供代替T的类型来编译上面的代码,如下所示:
StateArchive<AnyObject>.emptyAllArchives()
然而,这看起来很尴尬.最初我认为原因可能是人们可以创建一个类型为T的类变量.在操场上进行的快速测试显示编译器会发出一条消息:
"泛型类型尚不支持的类存储属性".
有没有人知道如何在泛型类型中创建一个类型方法,让客户端调用此方法而不提供代替T的类型?