首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不使用NSThread或sleep(),在延迟后执行方法--还有其他选择吗?

不使用NSThread或sleep(),在延迟后执行方法--还有其他选择吗?
EN

Stack Overflow用户
提问于 2011-07-12 22:06:11
回答 6查看 6K关注 0票数 17

在iOS4中,有没有一种方法可以在延迟后使用NSThread以外的东西调用方法,或者使用sleep()阻塞UI?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-07-13 03:49:56

代码语言:javascript
复制
    double delayInSeconds = 2.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        // code to be executed on main thread.If you want to run in another thread, create other queue
    });
票数 29
EN

Stack Overflow用户

发布于 2011-07-12 22:08:33

代码语言:javascript
复制
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay

将会为你做这件事。

此外,您还可以创建一个NSTimer,并让它在给定的时间后回调某个目标和选择器。

票数 9
EN

Stack Overflow用户

发布于 2011-07-12 22:08:40

您可以使用NSTimer。(例如timerWithTimeInterval:target:selector:userInfo:repeats)

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

https://stackoverflow.com/questions/6665467

复制
相关文章

相似问题

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