2

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

4

2 回答 2

2

只需使用

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

在手机上打字,先测试。

此外,还有一个简洁的类别可让您将 NSTimer 与 Blocks 一起使用!

于 2013-05-27T15:57:09.727 回答
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.
});
于 2013-06-22T11:17:05.903 回答