0

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

4

2 回答 2

0

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

由于所有对象都派生自 NSObject,因此您可以对所有对象使用上述方法。例如看这里:How to use performSelector:withObject:afterDelay: with original types in Cocoa?

于 2013-08-31T15:28:46.980 回答
0

自从引入 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 中已经存在的片段的副本。
使用此功能,您可以发布您放在预定义区域内的任何方法。屏幕更新由系统控制,您不能推迟更新,但可以推迟更改屏幕数据的方法。

于 2013-08-31T15:47:38.627 回答