我知道这是一个古怪的问题,但是在iPhone应用程序的主线程上执行SelectorInBackground是有效的吗?我知道performSelectorOnMainThread:但我只是想知道performSelectorInBackground:是否也可以在主线程上使用。我的理解是它不能,因为performSelectorInBackground:每次都会产生一个新的线程。
答案 0 :(得分:2)
performSelectorInBackground:
基本上产生一个新线程,然后在该线程上执行所需的选择器。
所以,不,它不会在主线程上执行。如初。
我认为使用performSelector:withObject:afterDelay:
没有延迟将适合您的情况,因为 在主线程上执行选择器,除了它在下一次迭代中执行当前运行循环:
[self performSelector:@selector(someMethod) withObject:nil afterDelay:0];