当我使用performSelectorOnMainThread
调用方法并在没有performSelector的情况下调用相同的方法时,任何人都可以告诉我有什么不同。
Exa。
-(void)sampleCALL{
..........
}
现在使用这两个senario调用此方法:
[[self performSelectorOnMainThread:@selector(sampleCALL) withObject:nil waitUntilDone:NO];];
或
[self sampleCALL];
如何执行这两种方法? 请帮我正确地找到这个概念。
答案 0 :(得分:2)
在第一个案例[self sampleCALL];
中,您的方法将在当前控制的线程中调用。它将保持所有堆栈操作,它为从另一个方法调用方法做了什么。
而
[[self performSelectorOnMainThread:@selector(sampleCALL) withObject:nil waitUntilDone:NO];];
无论控件当前线程是什么,都会在主线程中调用该方法。所有UI操作始终在主线程中执行。