performSelector:withObject:afterDelay:调用无效的解决方法

performSelector:withObject:afterDelay:调用后,指定的@selecter()没有执行,[NSTimer timerWithTimeInterval:invocation:repeats:]也存在这个问题。反复验证后发现,这种现象出现在子线程中,主线程中可正常使用。因此必须保证调用performSelector:withObject:afterDelay:是在主线程中。

 

因此,可以使用GCD的方式,将此调用放在主线程中执行:

 

dispatch_async(dispatch_get_main_queue(), ^{

});

 

你可能感兴趣的:(ios,iPhone)