我正在为iOS设备创建一个应用程序,它将监控一只股票的价格.我已经成功创建了一个函数,它从API中收集数据并打印出库存的当前值.
问题是,当我运行应用程序时,会打印一个(当前)价格并且它始终保持这样.
我的问题是如何使该功能在每个指定的时间内重复?
这是我的viewDidLoad,是我想要每隔几秒重复一次的功能.
码:
import Cocoa
class ViewController: NSViewController {
let baseURL = "url"
@IBOutlet weak var bitcoinValue: NSTextField!
override func viewDidLoad() {
super.viewDidLoad()
getJSON { (usdPrice) -> Void in
let usdPriceText = usdPrice.description
self.bitcoinValue.stringValue = usdPriceText
print(usdPrice)
}
}
func getJSON(completion: (Double) -> Void) {
let url = NSURL(string: baseURL)
let request = NSURLRequest(URL: url!)
let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
if error == nil{
let swiftyJSON = JSON(data: data!)
let usdPrice = swiftyJSON["bpi"]["USD"]["rate"].doubleValue
completion(usdPrice)
} else {
print("There was an error!")
}
}
task.resume()
}
}
Run Code Online (Sandbox Code Playgroud)
Rat*_*ker 10
您可以使用NSTimer.
以下是一个例子
//in your viewdidload
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: "update", userInfo: nil, repeats: true)
// must be internal or public.
func update() {
// your repeating function
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5057 次 |
| 最近记录: |