所有。 我研究iOS和alamofire。
状态代码存在错误。
case 200...299: ->
错误代码:无法转换类型的值' CountableClosedRange'输入' Int'在胁迫中
如果我把它改成大小写。成功: - > Enum案例'成功'类型' Int?'
中找不到什么是问题? 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 :(得分: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
}