调用viewDidLoad

时间:2014-08-02 15:20:06

标签: ios xcode swift nstimer viewdidload

在Swift中,我正在编写一个简单的第一个应用程序。因为它根本不复杂,所以几乎所有使用的代码都发生在viewDidLoad方法中。但是,应用程序处理实时数据(确切地说是比特币价格)。我希望应用程序每3分钟重新获取一次价格,价格保持最新状态。

 var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("update"), userInfo: nil, repeats: true)

我使用了上面的代码,我从This stackoverflow question的最高答案中得到了这些代码。但是,如何让它在3分钟后运行viewDidLoad?我不明白它是如何调用函数的。由于所有代码(包括更新)都在viewDidLoad中,因此我需要调用它。

如果您需要更多信息,请与我们联系。谢谢!

1 个答案:

答案 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之后,它会自动获取您的数据并重新刷新用户界面。