在Swift中,我正在编写一个简单的第一个应用程序。因为它根本不复杂,所以几乎所有使用的代码都发生在viewDidLoad方法中。但是,应用程序处理实时数据(确切地说是比特币价格)。我希望应用程序每3分钟重新获取一次价格,价格保持最新状态。
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
我使用了上面的代码,我从This stackoverflow question的最高答案中得到了这些代码。但是,如何让它在3分钟后运行viewDidLoad?我不明白它是如何调用函数的。由于所有代码(包括更新)都在viewDidLoad中,因此我需要调用它。
如果您需要更多信息,请与我们联系。谢谢!
答案 0 :(得分:3)
计时器repeats:
设置为true
,因此它会在0.4 sec
后自动重复,并会调用您的update
方法实现。如果您想致电update
方法立即在update
中显式调用viewDidLoad
方法并启动计时器
参考NSTimer
documentation。
您无需致电,也不应再次致电viewDidLoad
override func viewDidLoad() {
self.update(); //it will call update immediately
var timer = NSTimer.scheduledTimerWithTimeInterval(180, target: self, selector: Selector("update"), userInfo: nil, repeats: true) //repeats after 3minutes
}
func update() {
//Your all code which is in viewDidLoad
}
如果您想在update
方法中更新某些内容,那么在180 i.e 3minutes
之后,它会自动获取您的数据并重新刷新用户界面。