我需要在 30 秒内每隔 0.025 秒打一次电话。这是我的 0.025 秒计时器。
NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 0.025 target: self
selector: @selector(GetScreen:) userInfo: nil repeats:YES ];
如何将其限制为 30 秒的持续时间?
如果您试图等到满足某些条件,请不要使用计时器来执行此操作。使用委托模式、通知/观察者或信号量等。
如果您想在 30 秒后调用一次GetScreen:
(可能应该按照getScreen:
正常的 Obj-C 约定),请使用以下命令:
[ NSTimer scheduledTimerWithTimeInterval:30.0 target:self selector:@selector( getScreen: ) userInfo:nil repeats:NO ] ;
如果您只想让它持续 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];
}