这是我的网址响应
{
"base": "EUR",
"date": "2017-05-16",
"rates": {
"AUD": 1.492,
}}
这是我的代码
Alamofire.request("http://api.fixer.io/latest").responseJSON { response in
guard let JSON = response.result.value else{
print("Error")
return
}
print("JSON: (JSON)")
let dict = JSON as! NSDictionary
let base : String = dict["base"] as! String
print("Base:", base)
let date : String = dict["date"] as! String
print("Date:", date)
let rateDict = dict["rates"] as! NSDictionary
let aud : String = rateDict["AUD"] as! String
print("AUD:", aud)
}
在行中让 aud : 字符串 = rateDict["AUD"] as!字符串有消息错误,如上面的标题中所述。这是怎么回事。请任何人帮助我。
你可以像这样将其转换为字符串,
let aud : String = String(rateDict["AUD"])
或
let aud : String = NSString(format: "%0.2f", rateDict["AUD"]) as String
它是一个浮点数而不是一个字符串。 演员是浮动的
let aud = rateDict["AUD"] as! Float
编辑:避免强制强制转换,因为如果数据不是预期的,这可能会使您的应用程序崩溃。使用以下代码将防止崩溃
if let rateDict = dict["rates"] as? [String : Any] {
if let aud = rateDict["AUD"] as? Float {
print("(aud)")
}
}