gpt4 book ai didi

ios - 当我不创建 NSTimer 对象时如何使计时器无效

转载 作者:可可西里 更新时间:2023-11-01 03:56:17 26 4
gpt4 key购买 nike

我不想创建 NSTimer 对象。 如何使计时器无效?我想使 viewWillDisappear 中的计时器无效。

-(void) viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
}

最佳答案

一个

你必须坚持你创建的计时器:

@interface MONObject ()
@property (nonatomic, retain) NSTimer * timerIvar;
@end

@implementation MONObject
...
- (void)viewDidLoad
{
[super viewDidLoad];
self.timerIvar = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
}

- (void)invalidateTimer
{
[self.timerIvar invalidate];
self.timerIvar = nil;
}

- (void)viewWillDisappear:(BOOL)animated
{
...
[self invalidateTimer];
}

B

另一种选择是使回调中传递的计时器无效,但这不会在 viewDidUnload: 中发生。因此,它不太适用于这种情况:

- (void)onTimer:(NSTimer *)pTimer
{
[pTimer invalidate];
}

关于ios - 当我不创建 NSTimer 对象时如何使计时器无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191558/

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