单击按钮10秒后运行IBAction

时间:2013-09-16 20:57:26

标签: objective-c cocoa-touch ibaction

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

2 个答案:

答案 0 :(得分:2)

您可以使用performSelector: withObject: afterDelay

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

将其放入按下按钮时调用的IBAction调用中,10秒后将调用myFunc

答案 1 :(得分: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
    });
}