我正在Swift 2.0上迁移我的应用程序。我借此机会将Alamofire从1.3迁移到2.0。
但是现在我的应用程序不再工作了,我在使用Alamofire的文件上遇到了很多错误。
首先在我的枚举路由器声明中我收到一个错误,说谁
private enum Router: URLRequestConvertible {
编辑:这是实现
的方法的开始URLRequestConvertible
// MARK: URLRequestConvertible
var URLRequest: NSURLRequest {
let URL = Router.baseURL.URLByAppendingPathComponent(self.path)
let URLRequest = NSMutableURLRequest(URL: URL)
URLRequest.HTTPMethod = self.method.rawValue
switch self {
case .Login(let email, let password):
return self.encoding.encode(URLRequest, parameters: [
"email": email,
"password": password]).0
case .Logout:
return self.encoding.encode(URLRequest, parameters: nil).0
}
类型'路由器'不符合协议'URLRequestConvertible'
当我要检查.responseJSON { (_, _, json, error) in
时,我的所有请求中都有第二个我说错了谁说
元组类型'(NSURLRequest?,NSHTTPURLResponse?,结果)'(又名 '(可选,可选,结果)')和'(_,_,_,_)'有不同 元素数量(3对4)
编辑:确定不再error field
但是你如何进行错误处理呢?
EDIT2:好了,现在你需要为结果使用一个开关。谢谢
我之前没有的错误
感谢您的帮助!
答案 0 :(得分:1)
有关第二个错误,请参阅此处的Alamofire
页面https://github.com/Alamofire/Alamofire
正如您所看到的,他们更改了.responseJSON
,现在只返回3个参数。在1.3版中,有4个参数。基本上你只需要以这种方式删除error
字段
.responseJSON { (_, _, json) in
答案 1 :(得分:0)
如果你还没有改变,我认为你需要返回'NSMutableURLRequest'而不是'NSURLRequest'。