2017-06-22 23 views
1

我有一个银行代码,iOS版 - 定时器选择线程

var timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.updateAction), userInfo: nil, repeats: true) 

此代码是从主线程运行,让说,viewDidLoad()。我想知道这个选择器是否保证在主线程中运行。换句话说,如果我在之内有UI操作,我应该在主线程上是否显式包装代码。

回答

1

您的Timer将始终在您的主线程上运行,因此您可以随时在您的中更新您的UI。

+0

我想知道是否有任何关于这个概念的苹果指南。选择器是否始终在主线程中运行,无论从哪个线程调用它?任何类型的参考?谢谢。 –

+1

是的,它会一直从'Timer'的主线程调用。定时器的苹果[参考](https://developer.apple.com/documentation/foundation/timer)。 –