在Swift中,我正在编写一个简单的第一个应用程序。由于它一点也不复杂,几乎所有使用的代码都发生在viewDidLoad方法中。然而,该应用程序处理实时数据(确切地说,是比特币价格)。我希望应用程序每3分钟重新获取价格,以保证价格保持最新。
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("update"), userInfo: nil, repeats: true)我使用了上面的代码,这是从这个堆叠溢出问题的最上面的答案中得到的。但是,如何使它在3分钟后运行viewDidLoad?我不明白它怎么叫函数。由于包括更新在内的所有代码都在viewDidLoad中,所以只需要调用这些代码。
如果你需要更多的信息,请告诉我。谢谢!
发布于 2014-08-02 15:29:37
定时器repeats:设置为true,因此它将在0.4 sec之后自动重复,并调用您希望立即调用update方法的update方法implementation.If,而不是在viewDidLoad中显式调用update方法并启动计时器。
请参阅NSTimer 文档。
您不需要调用,也不应该再次调用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之后,它将自动获取数据并重新释放UI。
https://stackoverflow.com/questions/25096523
复制相似问题