反对结果与Alamofire结果的冲突

时间:2016-02-02 10:20:27

标签: ios swift alamofire

我在代表POST HTTP请求的协议中有以下Swift函数:

func post<T: Mappable>(url: NSURL, parameters: [String: AnyObject]?, completion: ((Result<T, APIClientError>) -> ())?)

在这种情况下,我正在import Result从Antitypical获取结果,因为我不希望此协议依赖于Alamofire。

在此协议的实现中,我想使用Alamofire来执行实际的HTTP请求:

func post<T: Mappable>(url: NSURL, parameters: [String: AnyObject]?, completion: (Result<T, APIClientError> -> ())? = nil) {
    Alamofire.request(.POST, url.URLString, parameters: parameters, encoding: .JSON)
        .validate()

问题在于Antitypical的结果与Alamofire的结果之间存在冲突:

AlamofireHTTPClient.swift:21:87: 'Result' is ambiguous for type lookup in this context

如何指定我想使用Antitypical的结果?或者,如果您知道解决问题的更好方法吗?

1 个答案:

答案 0 :(得分:2)

您可以Result.Result指定您所指的确切类型;在您的情况下,这将是Alamofire.Result或{{1}}。