我正在尝试使用类型标识作为字典中的键,但是我在编写声明时遇到了麻烦。在C#中,我会使用这样的东西:
Type theType = typeof(MyCoolClass);
似乎在Swift中我想使用type(of:) - 根据文档,此函数返回一个Metaclass
对象,但当我尝试使用此类型时,我得到:
未找到类型元数据
protocol DependencyResolver {
func getObject<T>(type: Metatype, contract: String?) -> T?
func getAllObjects<T>(type: Metatype, contract: String?) -> T?
}
答案 0 :(得分:0)
Metatype
实际上是type(of:)
函数的泛型参数(即,不是名义类型)。返回的动态类型是具体元类型(T.Type
)。
例如,尝试使用Any.Type
代替;)