倒计时后0
问题描述:
我有一个小问题我正在使用此代码,开始从20计数过0仍在计算:倒计时后0
mainInt = 20;
randomMain = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(randomMainVoid)
userInfo:nil repeats:YES];
但0后的倒计时仍在计数(-1,-2, -3)
-(void) randomMainVoid {
mainInt -=1;
label.text = [NSString stringWithFormat:@"%D", mainInt];
}
有没有人知道如何在0之后停止计数?
答
假设你仍然有一个指向你的NSTimer的指针,你想调用- invalidate方法。
if (mainInt <= 0)
{
[randomMain invalidate];
[randomMain release]; // remove if you're using ARC.
}
答
发送invalidate
定时器在randomMainVoid
并释放它达到0
答
一般来说大多数编码语言时,我已经使用的其他人,在倒计时一环if语句,当达到0,你重置计数,或停止计数。
答
一旦你完成了使用计时器对象(在你的情况下,一旦你的iVar达到0),你必须调用你的计时器对象的invalidate方法。
[randomMain invalidate];
检查mainInt是否是 Jonathan 2012-01-05 20:08:28
好点,谢谢你的建议。 – 2012-01-05 20:12:15
Jonathan&Raskolnikov谢谢你们两位! – Blazer 2012-01-05 20:14:43