迁移Swift和更新Alamofire后,我的路由器无法正常工作

时间:2015-09-28 15:28:20

标签: ios swift swift2 alamofire

我正在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:好了,现在你需要为结果使用一个开关。谢谢

我之前没有的错误

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

有关第二个错误,请参阅此处的Alamofire页面https://github.com/Alamofire/Alamofire

正如您所看到的,他们更改了.responseJSON,现在只返回3个参数。在1.3版中,有4个参数。基本上你只需要以这种方式删除error字段

.responseJSON { (_, _, json) in

答案 1 :(得分:0)

如果你还没有改变,我认为你需要返回'NSMutableURLRequest'而不是'NSURLRequest'。