【发布时间】:2018-02-22 18:39:53
【问题描述】:
let url = URL(string: "https://api.coindesk.com/v1/bpi/currentprice.json")
let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil {
print ("Error!")
} else {
if let content = data {
do {
let myJson = try JSONSerialization.jsonObject(with: content) as! [String:Any]
if let rates = myJson["bpi"] as? [String:Any] {
if let currency = rates["USD"] as? [String:Any] {
if let btc = currency["rate"] as? String {
DispatchQueue.main.async{
self.bitcoinlabel.text = "$" + btc
}
}
}
}
}
catch{
print(error)
}
}
}
}
task.resume()
let btcprice: Double = btc
问题出在最后一行(使用未解析的标识符“btc”)。如何导出从数据中获取的值,以便在代码块之外或其他函数中使用。
【问题讨论】:
-
btc仅在if let btc =块内可用。