Ios NSTimer-活动顺序-如何使计时器无效?

Ios NSTimer-活动顺序-如何使计时器无效?,ios,nstimer,Ios,Nstimer,我想用两个计时器来做一系列的活动(a和B)。 我遇到一些定时器失效的问题。。。 这是正确的方法吗? 谢谢你 timerAStart = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(startActivityA) userInfo:nil repeats:NO]; timerAStop = [NSTimer scheduledTimerWithTimeInterval:2 target:self

我想用两个计时器来做一系列的活动(a和B)。 我遇到一些定时器失效的问题。。。 这是正确的方法吗? 谢谢你

timerAStart = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(startActivityA) userInfo:nil repeats:NO];
timerAStop = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(StopA) userInfo:nil repeats:NO];
timerBStart = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(startActivityB) userInfo:nil repeats:NO];
timerBStop = [NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(StopB) userInfo:nil repeats:NO];
- (void) StopA {
[timerAStart invalidate];
timerAStart=nil;
}
- (void) StopB {
[timerBStart invalidate];
timerBStart=nil;
}

您不需要使计时器无效,因为计时器是不重复的。如果您查看文档,您会发现非重复计时器会自动失效。

您在[TimerStart invalidate]行的EXC_BAD_访问中遇到了什么问题;您使用的是arc还是手动保留计数?我使用的是arc;我宣布NSTimer*TimerStart,谢谢好的,我同意。。。我的问题是A是一个无限循环。。。。我能阻止它吗?你是说startActivityA会导致无限循环?你能把密码贴出来吗?Dancreek,你的回答给了我正确的方式继续。。。我必须改变方法,找到像计数器一样从循环中退出的东西。。。谢谢!再见