如何在滚动

时间:2017-07-25 12:22:58

标签: swift multithreading

我的问题很难解释,所以我会尽力解释。

我正在使用TableView进行快速应用。在这个TableView中,我有一些存储在本地的数据(Dictionnary,Arrays,var,...)。 因此,在我的TableView中,我每0.01秒刷新一次这个数据。然后,当我滚动我的TableView时,这个刷新停止了,我不想要它。我想要"继续刷新"。

有人可以解释我是怎么做到的吗?我在StackOverflow上搜索,答案最多的是:Thread。 我理解C语言中的线程但在Swift中对我来说非常含糊。 如果您在Swift中进行火车多线程练习,可以发布它!

感谢您的时间。

P.S:我可以发布一些代码,但我不认为这对我的问题非常重要。

修改

有定时器和更新的代码

override func viewDidLoad() {
  timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, 
  selector:#selector(ViewController.updateTimer), userInfo: nil, 
  repeats: true)
}

func updateTimer () {
  var j = 0
  for _ in rows {
    if (rows[j]["Activ"] as! Bool == true ) {
      rows[j]["timer"] = (rows[j]["timer"] as! Double + 0.01) as AnyObject
     }
    j += 1
  }
myTableView.reloadData()
}

1 个答案:

答案 0 :(得分:2)

所以,之所以会发生这种情况,是因为TimerDispatchQueue中的滚动功能相同UITableView。例如,您可以使用AsyncTimer

来解决此问题