首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delay execution iOS应用

Delay execution iOS应用
EN

Stack Overflow用户
提问于 2013-06-07 02:35:25
回答 4查看 3.6K关注 0票数 4

我正在寻找一种简单直接的方法来延迟iOS应用程序中许多帧的执行,这可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-07 03:13:45

您可以使用[NSTimer scheduledTimerWithTimeInterval: target: selector:]方法,也可以使用内置方法作为wait(time_in_seconds);

希望这能对你有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2013-06-07 02:47:33

根据您正在做的事情的复杂程度,这一小段代码就足够了:

代码语言:javascript
复制
double delayInSeconds = 2.0;
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
});

否则,您可以查看NSTimer来调度要执行的代码。你甚至可以重复一次或多次。

可以像这样使用,例如:

代码语言:javascript
复制
[NSTimer scheduledTimerWithTimeInterval:5.0 
                                 target:self 
                               selector:@selector(myMethod) 
                               userInfo:nil 
                                repeats:NO];

有关如何使用它的更多信息,请查看this post,当然,请查看documentation

票数 10
EN

Stack Overflow用户

发布于 2013-06-07 02:43:58

如果您指的是一些恒定的时间,那么通常的方法是使用NSTimer在将来的某个时候触发,或者使用dispatch_after(),它可以在将来的某个时候将一个块分派到主队列或后台队列。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16969604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档