2017-06-22 20 views
1

全部。 我学习iOS和alamofire。status代码为Alamofire4

有关于状态码的错误。

case 200...299: ->错误代码:无法转换类型“CountableClosedRange”的价值强制

如果我改变它区分.Success键入“诠释”: - >枚举情况下“成功”在类型“诠释没有发现? “

什么是问题? TT

这是编码。

override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     let params = ["username": "ryulstory", "password": "123!"] 
     var rTest = Alamofire.request(self.authLoginUrl, method: .post, parameters: params) 
      .responseJSON{ response in 
       print(response.request) // original URL request 
       print(response.response) // URL response 
       print(response.data)  // server data 
       print(response.result) // result of response serialization 

       let statusCode = response.response?.statusCode 

       switch statusCode { 
       case 200 ... 299 : 
        let jsonData = JSON(response.data!) 
        let token = jsonData["token"].string! 
        print(token) 

        self.keychain["token"] = token 
       } 
         } 

    } 
+0

如果您获得200作为状态代码,这意味着您的API调用已成功完成。澄清你到底需要做什么 – Suryakant

+0

@Suryakant是的,正确的 –

回答

1

错误是误导性的,你所面临的问题是,因为可选的链接为一体的response是可选statusCode也使用Nil-Coalescing Operator可选包裹它的价值,你都可以走了。

let statusCode = response.response?.statusCode ?? 0 

switch statusCode { 
    case 200 ... 299 : 
     let jsonData = JSON(response.data!) 
     let token = jsonData["token"].string! 
     print(token) 
     self.keychain["token"] = token 
} 
相关问题