定时器标签不倒计时

时间:2013-07-20 16:46:22

标签: objective-c

这不是所有代码。我已经确定我已经正确地宣布了所有内容,但标签没有随着'秒'的减少而改变。

我不知道为什么在'subtractTime'中我使timerLabel.text等于字符串格式使用秒“应该”并且倒计时因为我使用警报来重置游戏所以即使标签没有变化,我知道它正在倒计时,否则警报不会从“秒”等于0触发。

- (void)setupGame;
{
    seconds = 30;
    count = 0;

    timerLabel.text = [NSString stringWithFormat: @"Time: %i", seconds];
    scoreLabel.text = [NSString stringWithFormat: @"Score: %i", count];

    timer = [NSTimer scheduledTimerWithTimeInterval:1.0
         target:self
         selector:@selector(subtractTime)
         userInfo:nil
         repeats:YES];

}
- (void)subtractTime;
{
    seconds--;
    timerLabel.text = [NSString stringWithFormat:@"Time: %i", seconds];

    if (seconds == 0)
    {
        [timer invalidate];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Time is up !" 
                          message: [NSString stringWithFormat: @"You Scored %i points", count]
                          delegate:self
                          cancelButtonTitle: @"Play Again"
                          otherButtonTitles:nil];

        [alert show];
    }

}
@end

1 个答案:

答案 0 :(得分:0)

确保在Storyboard / Interface构建器中,您的标签已正确连接到viewXontroller的.h文件。测试这个的一个好方法是用“Time:”之外的东西“填充”XIB上的标签,而不是像“foo”这样荒谬的东西。这样,您就可以准确地判断标签是否正在发生变化,而不是对您的Int值是否显示不正确进行故障排除。