首页 > 解决方案 > 将类型推断为泛型函数的方法

问题描述

除了这样,我如何将类型推断为泛型函数:

let a: MyType = genericFunction()

或这些演员表:

let a = MyType(genericFunction())

let a = genericFunction() as MyType

条件转换不会推断类型:

let a = genericFunction() as? MyType

还有什么作用?

更新:

正如 Victor Pro 假设的那样,函数应该返回一个泛型类型。它可能看起来像:

func genericFunction<T>() -> T {
}

标签: swiftgenericstypes

解决方案


我假设你genericFunction()有一个通用的返回类型。然后,推断类型的另一种方法是将其作为参数传递给函数:func genericFunction<T>(returnType: T.Type) -> T {...}. 您现在可以通过 eg 调用它let val = genericFunction(String.self),其中valis 类型String.


推荐阅读