调用间隔功能,但直到一段时间过去Iphone

时间:2012-05-17 18:02:35

标签: iphone nstimer scheduler intervals

我需要在30秒的时间内每隔.025秒拨打一次电话。这是我的.025秒计时器。

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 0.025 target: self
                    selector: @selector(GetScreen:) userInfo: nil repeats:YES ];

如何将此限制为30秒?

2 个答案:

答案 0 :(得分:0)

如果您要等到某个条件满足,请不要使用计时器来执行此操作。使用委托模式,或通知/观察者或信号量等。

如果您想在30秒后调用GetScreen:(通常可能是getScreen:正常的Obj-C惯例),请使用:

[ NSTimer scheduledTimerWithTimeInterval:30.0 target:self selector:@selector( getScreen: ) userInfo:nil repeats:NO ] ;

答案 1 :(得分:0)

如果你只想让它继续30秒,那么你只需要一个成员变量来增加,直到它达到30秒然后关闭你的计时器:

CGFloat timerTotal_;

//initialize it where you create your timer
timerTotal_ = 0.0f;

//every time your GetScreen: is called
timerTotal_+= .025;

if(timerTotal_ > 30)
{
    [myTimer invalidate];
}