我在代表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的结果?或者,如果您知道解决问题的更好方法吗?
答案 0 :(得分:2)
您可以Result.Result
指定您所指的确切类型;在您的情况下,这将是Alamofire.Result
或{{1}}。