2010-09-12 58 views
1

我知道这是一个奇怪的问题,但它是有效的执行SelectorInBackground:在iPhone应用程序的主线程?我知道performSelectorOnMainThread:但我只是想知道是否performSelectorInBackground:也可以在主线程上使用。我的理解是它不能,因为performSelectorInBackground:每次都会产生一个新的线程。performSelectorInBackground:在主线程

回答

2

performSelectorInBackground:本质上产生一个新的线程,然后在该线程上执行所需的选择器。

所以,不,它不会在主线程上执行。永远。

我认为,不同之处在于它是在当前运行循环的下一次执行使用performSelector:withObject:afterDelay:没有延迟将是适合您的情况,因为这主线程上执行选择,:

[self performSelector:@selector(someMethod) withObject:nil afterDelay:0];