如何在swift中自动重复功能

Ant*_*n N 2 nstimer ios swift

我正在为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)