2016-11-08 3 views

ответ

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 {} 
+0

Спасибо! Это действительно интересно :) –

Смежные вопросы