タイマーを設定し、実行するたびに値を33ずつ減らすスクリプトを作成しようとしています。理論的には、タイマーは6回実行すると自動的に停止するはずですが、タイマーは継続して負の値に達します。これには理由がありますか?
-(void)checkValue:(NSTimer *)myTimer{
if(pplint > 0){
pplint = pplint-33;
NSString *ppllefttext = [NSString stringWithFormat:@"%d", pplint];
peopleleft.text = ppllefttext;
NSLog(@"Reduced Timer");
}
if(pplint < 0){
NSLog(@"Stop Timer");
[myTimer invalidate];
}
}
- (IBAction)gotocongrats{
pplint = 198;
NSString *ppllefttext = [NSString stringWithFormat:@"%d", pplint];
peopleleft.text = ppllefttext;
NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(checkValue:)
userInfo:nil
repeats:YES];
NSLog(@"Started Timer");
}