gpt4 book ai didi

ios - 如何停止 NSTimer?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:18 24 4
gpt4 key购买 nike

我有一个 NSTimer,当我离开 vViewVontroller 时我想停止它:

计时器位于我从 viewWillAppear 调用的方法中:

- (void) myMehtod
{
//timer = [[NSTimer alloc] init];
// appel de la methode chaque 10 secondes.
timer = [NSTimer scheduledTimerWithTimeInterval:10.0f
target:self selector:@selector(AnotherMethod) userInfo:nil repeats:YES];
//self.timerUsed = timer;
}

我在 viewWillDisappear 中调用方法 stopTimer

- (void) stopTimer
{
[timer invalidate];
timer = nil;
}

PS:这个问题我试了user1045302的回答,还是不行:

How to stop NSTimer

最佳答案

问题的根源可能是 myMehtod 被调用了两次或更多次。

由于该方法不会在设置新计时器之前使现有计时器失效,您实际上有多个计时器同时计时。

修复很简单:在设置新计时器之前使旧计时器无效:

- (void)myMehtod
{
[timer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:10.0f
target:self
selector:@selector(anotherMethod)
userInfo:nil
repeats:YES];
}

关于ios - 如何停止 NSTimer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32523661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com