我正在为 iPad 编写一个计算器,并试图找到一种方法来计算计算需要执行的时间。
目前我正在尝试一个简单的计算:NSLog(@"power is : %g", pow(number,2));
我想为这个计算播种 3000 个数字并将所需的时间存储到一个数组中。
我应该使用 NSTimer 来查找这个时间吗?
计算机计算时间出错。我想从结果中减去这个错误,以获得更精确的值。
我使用 CADisplayLink 是因为我可以启动和停止它,将 paused 设置为 false 和 true 而不是 NSTimer,因为我每次都必须启动一个 NStiemr 对象,这会耗费时间和内存。
到目前为止,我已经编写了以下代码,但它不起作用。
先感谢您
-(void)howMuchTimeForASquared
{
xronoi=[[NSMutableArray alloc] init];
sumTime=0;
CADisplayLink *gameTimer = [CADisplayLink displayLinkWithTarget:self
[gameTimer addToRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
if (xronos>3000) {
NSLog(@"xronoi count %d",xronoi.count);
gameTimer.invalidate;
}
}
-(void) updateDisplay:(CADisplayLink*)sender
{
srandom( time( NULL ) );
int randomNumber=((random())%3000);
xronos++;
[self updateModelWithTime:sender.timestamp];
}
-(void) updateModelWithTime:(CFTimeInterval) timestamp{
if (lastTime == 0.0) {
lastTime = timestamp;
} else {
timeDelta = timestamp - lastTime;
sumTime=sumTime+timeDelta;
[xronoi addObject:[NSNumber numberWithDouble:timeDelta]];
lastTime = timestamp;
}
}