2017-06-22 64 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)。 –