我有一些Objective-C代码需要在指定时间后触发。我一直在使用下面的代码,95%的时间,它的效果很好。但是,有时代码会提前执行 。比如5秒而不是60秒。它是完全不一致的,我不能故意这样做。知道是什么原因造成的吗?
FALSE
答案 0 :(得分:1)
我有同样的问题,我的解决方案是:
dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
dispatch_after(delayTime, dispatch_get_main_queue(), ^(void){
// YOUR CODE HERE
});
希望这对你也有用。