-1

我有一个IBAction链接到一个按钮。单击该按钮时,将播放一个 .wav 文件。IBAction单击按钮后如何运行 10 秒?

4

2 回答 2

2

您可以使用performSelector: withObject: afterDelay

[self performSelector:@selector(myFunc) withObject:nil afterDelay:10.0];

将它放在按下按钮时调用的 IBAction 调用中,myFunc将在 10 秒后调用。

于 2013-09-16T21:00:23.407 回答
2

您可以使用dispatch_after延迟代码执行:

- (IBAction) onAction: (id)sender
{
    double delayInSeconds = 10.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

        // do delayed work here
    });
}
于 2013-09-16T21:24:34.137 回答