如何计算每秒的点击次数

时间:2013-09-22 19:46:48

标签: ios objective-c cocoa-touch

我希望我的应用能够计算每秒的点击次数。我认为这与touchesBegan:...有关,但这对按钮无效,是吗?无论如何,我如何衡量每秒的水龙头数量? 我想我可以使用一个每秒重置一次的计数器手动完成,但我想知道是否有更好的方法。 它会将值添加到数组中吗?如果是这样,我能计算出不包括0的平均值吗?

我目前的代码。

-(void) timer:(NSTimer *)averageTimer {
    if(tapCountInLastSecond != 0) {
        secondsElapsed++;
        averageTapsPerSecond += tapCountInLastSecond / secondsElapsed;
        tapCountInLastSecond = 0;
        NSLog(@"Average: %f", averageTapsPerSecond);
    }
}

1 个答案:

答案 0 :(得分:3)

你的viewController中的

放了那些计数器

int   tapCountInPastSecond = 0;
float averageTapsPerSecond = 0;
int   secondsElapsed       = 0;

然后添加在屏幕上调用的方法或点击按钮

- (void)incrementTapCount
{
    tapCountInPastSecond++;
}

创建一个计时器,每秒触发一次,进行计算,然后重置点击计数

- (void)timerActions
{
    secondsElapsed++;
    averageTapsPerSecond = (averageTapsPerSecond*(secondsElapsed-1) +tapCountInPastSecond) / secondsElapsed;
    tapCountInpastSecond = 0;
}

现在你可以像这样启动你的计时器:

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerActions) userInfo:Nil repeats:YES];

然后,在任何时候,您都可以通过读取值averageTapsPerSecond

获得平均点击次数/秒

希望这对你有意义