我可以以某种方式检查T
的类型。我想检查此类型是Array
还是别的。
func request<T: Mappable>(completionHandler: (Result<T>) -> Void) {
}
答案 0 :(得分:2)
执行此操作的一种方法是重载方法,如下所示:
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 {}