如何安排延迟后运行的方法

时间:2013-05-27 15:52:32

标签: iphone ios

我希望能够设置计时器计数23秒,然后执行一项功能。我怎么能这样做?我需要NSTimer吗?

2 个答案:

答案 0 :(得分:2)

只需使用

[NSTimer scheduledTimerWithTimeInterval:23.0 target:self selector:@selector(myThingToDo) options:nil];

在手机上输入,先测试一下。

此外,还有neat category可用,允许您将NSTimer与块一起使用!

答案 1 :(得分:1)

您可以直接使用GCD方法,这样可以省去编写单独的回调函数:

// Just for clarity I'm defining the time period separately, 23 seconds from now.
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, 23 * NSEC_PER_SEC);

dispatch_after(delay, dispatch_get_main_queue(), ^{
    // Anything in here will be run on the main queue 23 seconds from now.
});