3
我可以以某种方式检查T
的类型。我想检查这种类型是Array
还是别的。类型的通用
func request<T: Mappable>(completionHandler: (Result<T>) -> Void) {
}
我可以以某种方式检查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 {}
谢谢!这真的很有趣:) –