NSTimer与变量

时间:2015-08-18 23:43:35

标签: variables timer nstimer

在我的程序中,我希望每次使用时计时器的长度都会变小。为此,我在NSTimer中放入一个变量,并在运行定时器后将该变量乘以0.9。 当“count = count0.9”被注释掉时,程序运行良好,但计时器确实变小了。当它没有被注释掉时,计时器在计时器第四次启动后立即触发(或启动)GameOver功能。这很奇怪。

NSTimer*Timer;
int count=3;

-(void)InGame{
Timer = [NSTimer scheduledTimerWithTimeInterval:count target: self selector:@selector(GameOver)userInfo:(nil) repeats:NO];

count=count*.9; }

这让我发疯了,我为此做了一个堆栈溢出帐户。 谢谢您的帮助!我希望我知道如何为你攻击我的整个代码。

1 个答案:

答案 0 :(得分:1)

这可能是因为您使用int来存储结果,因此您的小数值会被截断。

Time 1: 3
Time 2: 3 * .9 = 2.7 => int = 2
Time 3: 2 * .9 = 1.8 => int = 1
Time 4: 1 * .9 = 0.9 => int = 0