我能以某种方式检查 T
的类型吗?我想检查此类型是 Array
还是其他类型。
func request<T: Mappable>(completionHandler: (Result<T>) -> Void) {
}
最佳答案
一种方法是重载该方法,如下所示:
private func request<T: Mappable>(isArray: Bool, completionHandler: (Result<T>) -> Void) {
if isArray {
print("is array")
} else {
print("is not array")
}
}
func request<T>(completionHandler: (Result<Array<T>>) -> Void) {
request(isArray: true, completionHandler: completionHandler)
}
func request<T: Mappable>(completionHandler: (Result<T>) -> Void) {
request(isArray: false, completionHandler: completionHandler)
}
我假设你已经定义了某个地方:
extension Array: Mappable {}
关于ios - 通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40482112/