1
如何確定給定函數調用正在運行的線程?確定當前範圍的線程
我想確保在主線程上調用一個方法來更新一些UI元素。
我可以舉例說明嗎?
- (void) myMethod {
if (<current thread is not main thread>) {
[self performSelectorOnMainThread: @selector(myMethod) withObject: nil waitUntilDone: NO];
} else {
// my code here
}
}
工作;兩個警告。有時候,鎖定到runloop而不是線程會更有用(每個線程有一個runloop,所以它是同義詞,但有時候更有意義的說明)。如果使用dispatch_ *或NSOperation * API,則線程可能相對隨機。 – bbum
謝謝比爾..我試圖讓Errol保持簡單,但你記住了很多要點。 –
簡單是可取的...直到它停止工作。 :) – bbum