如何检测是否调用NSTimer选择器

时间:2014-12-30 11:21:57

标签: ios objective-c selector nstimer

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    self.theTimer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(timerFire:) userInfo:nil repeats:NO];

//if(timerFire not called) {other code}
    }

如何检测timerFire:是否未被调用。如果未调用timerFire:,那么我想执行其他一些活动。

2 个答案:

答案 0 :(得分:1)

你在这里问的不太清楚。

在任何正常情况下,计时器将会触发,因此将调用timerFire:

如果出现以下情况,则不会发生:

  1. 您实际上没有在您设置为目标的类中实现timerFire:(因此,在这种情况下,它是self)。您可以使用respondsToSelector:

  2. 进行检查
  3. 在0.2秒的间隔结束之前,计时器无效,在这种情况下,您可以在班级中使用全局变量(类似BOOL timerDidFire)并将其设置为YES in timerFire:

答案 1 :(得分:0)

试试这个

if ([self respondsToSelector:@selector(timerFire:)])
{
// Your Code
}
else
{
}