【发布时间】:2016-10-23 00:18:06
【问题描述】:
这似乎是一个非常基本的问题,但由于某种原因无法解决。我正在使用 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”。在我看到的consolve中:
json: 可选(79)
json2: 无
该数字似乎以可选字符串的形式返回。我错过了一些明显的东西吗?斯威夫特新手。谢谢!
【问题讨论】:
-
去掉
if let行末尾的as String?。 -
感谢@rmaddy,但 Int(xRate) 仍然返回为零。
-
@user2452063 那么字符串可能不是有效的十进制整数。
-
@AlexanderMomchliov 我原本以为是这样,但也无法将其作为浮点数或双精度数。打印出字符串时,它会显示如下数字:(89)。
-
括号里有吗?
标签: json swift http-headers alamofire