Swift将可选字符串转换为Int

时间:2016-10-23 00:18:06

标签: json swift http-headers alamofire

这似乎是一个非常基本的问题,但出于某种原因,避风港已经能够解决它。我正在使用Alamofire解析JSON并尝试获取一个标题值,告诉我当前的api速率限制。

if let xRate = String(describing: response.response?.allHeaderFields["X-Ratelimit-Remaining"])as String? {
    self.jsonCallsRemaining = xRate                    
    print("json: ", xRate)
    print("json2: ", Int(xRate))                    
}

当试图获得xRate(或Float,或Double)的Int时,我得到了“nil”。在我看来,我看到了:

json:可选(79)

json2:nil

该号码似乎作为可选字符串返回。我错过了一些明显的东西吗Swift的新手。谢谢!

1 个答案:

答案 0 :(得分:1)

也许,你的String.init(describing:)是无关紧要的。

    if let xRate = response.response?.allHeaderFields["X-Ratelimit-Remaining"] as? String {
        self.jsonCallsRemaining = xRate
        print("json: ", xRate)
        print("json2: ", Int(xRate))
    }