我有一个选择器和目标,并调用这样的方法
[target performSelectorOnMainThread:(SEL)selector withObject:nil waitUntilDone:FALSE];
Run Code Online (Sandbox Code Playgroud)
但是在我改变它之后,它不起作用
[target performSelector:(SEL)selector withObject:nil afterDelay:0];
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我不想在主线程上执行该任务,因为它滞后于UI.
通过不起作用我的意思是它根本不调用该方法.我在模拟器中有im debu模式,并确认它没有被调用.
Nik*_*uhe 11
我假设你是从主线程以外发送消息.Cocoa只为主线程构建一个运行循环,对于其他线程,你必须自己构建一个.该方法performSelector:withObject:afterDelay:调度消息以进行下一次运行循环.因此,如果没有,则不会发送消息.
对于你的情况,你为什么不发送[target performSelector:selector withObject:nil];?你不需要一个运行循环,消息将立即发送(在同一个线程上).
| 归档时间: |
|
| 查看次数: |
6825 次 |
| 最近记录: |