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