iOS将屏幕更新推迟到下一次用户交互



我需要将屏幕更新推迟到下一次用户交互。虽然代码已经改变了显示,但我希望稍后显示,这可能吗?

也许可以看看NSObject方法performSelector:withObject:afterDelay:

由于所有对象都派生自NSObject,因此可以对所有对象使用上述方法。例如,看看这里:如何在Cocoa中使用performSelector:withObject:afterDelay:基元类型?

自从引入ARC以来,推迟某些事情的最佳方法是使用GCD dispatch_after函数

double delayInSeconds = <#time#>;
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            <#code to be executed on the main queue after delay#>
        });

这是Xcode中已经存在的代码段的副本
使用此函数可以发布您放入预定义区域内的任何方法。屏幕更新由系统控制,您不能推迟,但可以推迟更改屏幕数据的方法。

最新更新