Iphone 每秒调用函数一次,持续10秒

Iphone 每秒调用函数一次,持续10秒,iphone,objective-c,nstimer,Iphone,Objective C,Nstimer,我需要知道如何在总时间内执行一个操作,我会解释,我需要重复调用函数10秒,然后每隔1秒,我尝试使用计时器,但我理解什么是每10秒调用函数,而不是10秒调用函数 有人有什么想法吗 谢谢我猜你的意思是你想每秒调用一次函数,十秒钟后停止调用它。我猜想你会想要改变间隔(每秒一次)和持续时间(10秒) “10秒钟”是什么意思?您的意思是希望函数调用花费10秒钟,还是希望在10秒钟内尽可能快地反复调用函数,还是…?表示您希望只执行10秒钟的函数检查。。。为此,制作两个功能启动计时器和停止计时器,并调用启动计

我需要知道如何在总时间内执行一个操作,我会解释,我需要重复调用函数10秒,然后每隔1秒,我尝试使用计时器,但我理解什么是每10秒调用函数,而不是10秒调用函数

有人有什么想法吗


谢谢

我猜你的意思是你想每秒调用一次函数,十秒钟后停止调用它。我猜想你会想要改变间隔(每秒一次)和持续时间(10秒)


“10秒钟”是什么意思?您的意思是希望函数调用花费10秒钟,还是希望在10秒钟内尽可能快地反复调用函数,还是…?表示您希望只执行10秒钟的函数检查。。。为此,制作两个功能启动计时器和停止计时器,并调用启动计时器10秒。如果在10秒内你必须完成所需的事情,那么在10秒内停止计时器,或者在10秒内调用停止计时器。我想执行一个命令10秒钟,然后停止它。实际上,我不希望uiactivity指示器比较并旋转10秒,然后停止并消失..然后我可以这样调用:[self setTimeWithINterval:1 10];正确吗?
[自我设置时间间隔:1持续时间:10]。非常感谢。今晚我试了一下。我写的启动uiactivityindicator所需的代码现在是NSLog(@“hello from The timer!”);在[_定时器失效]后停止;在dealloc方法中?正确吗?是的,用您的代码替换NSLog。我不明白你关于dealloc的问题。如果您需要提前停止计时器,请向其发送
invalidate
消息。是的,我需要运行uiactivityindicator 10秒钟,然后我想消失。我问,代码是让它出现在我放的地方,而不是NSLog,而让它在10秒后消失在我放的地方?
@implementation Example
{
    NSTimer *_timer;
    NSTimeInterval _stopTime;
}

- (void)setTimerWithInterval:(NSTimeInterval)interval duration:(NSTimeInterval)duration
{
    [_timer invalidate];
    _timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(timerDidFire) userInfo:nil repeats:YES];
    _stopTime = [NSDate timeIntervalSinceReferenceDate] + duration;
}

- (void)timerDidFire
{
    if ([NSDate timeIntervalSinceReferenceDate] >= _stopTime) {
        [_timer invalidate];
        return;
    }
    NSLog(@"hello from the timer!");
}

- (void)dealloc
{
    [_timer invalidate];
    [super dealloc];  // delete this line if using ARC
}

@end