【发布时间】:2017-08-31 21:29:08
【问题描述】:
我正在开发一个内置于 Swift 4.0 (Xcode Beta 9) 的应用程序,它将从 Bitstamp API 中提取比特币值(这部分正在运行)并在标签中输出值。我被困的地方是将这个调用的输出输入到我的标签中。
值在这里打印出来:
let btcValues = try
JSONDecoder().decode(BitcoinResponse.self, from: data)
print("$" + btcValues.last)
我的 ViewController.swift 文件中的完整代码:
import UIKit
struct BitcoinResponse: Decodable {
let high: String
let last: String
let timestamp: String
let bid: String
let vwap: String
let volume: String
let low: String
let ask: String
let open: String
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let jsonUrlString = "https://www.bitstamp.net/api/v2/ticker/btcusd/"
guard let url = URL(string: jsonUrlString) else { return }
URLSession.shared.dataTask(with: url) {
(data, response, err) in
guard let data = data else { return }
do {
let btcValues = try
JSONDecoder().decode(BitcoinResponse.self, from: data)
print("$" + btcValues.last)
}
catch let jsonErr {
print("Error serializing json:", jsonErr)
}
}.resume()
}
@IBOutlet weak var btcValue: UILabel!
//output goes here
}
这里引用了我的出口btcValue:
@IBOutlet weak var btcValue: UILabel!
//output goes here
我宁愿不使用 SwiftyJSON 之类的外部库来完成此任务(因为没有它我已经完成了 99% 的工作)。
谢谢
【问题讨论】:
-
到底是什么问题?
btcValues.last打印出来就好了?然后您只需将其设置为标签的text属性...
标签: ios json swift ios11 swift4