这不是所有代码。我已经确定我已经正确地宣布了所有内容,但标签没有随着'秒'的减少而改变。
我不知道为什么在'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
答案 0 :(得分:0)
确保在Storyboard / Interface构建器中,您的标签已正确连接到viewXontroller的.h文件。测试这个的一个好方法是用“Time:”之外的东西“填充”XIB上的标签,而不是像“foo”这样荒谬的东西。这样,您就可以准确地判断标签是否正在发生变化,而不是对您的Int值是否显示不正确进行故障排除。