私は iPad 用の電卓をプログラミングしており、計算の実行に必要な時間をカウントする方法を見つけようとしています。
現時点では、簡単な計算を試みています:NSLog(@"power is : %g", pow(number,2));
この計算に 3000 個の数値をシードし、必要な時間を配列に格納したいと考えています。
この時間を見つけるためにNSTimerを使用する必要がありますか?
コンピューターが時間のカウントでエラーを起こします。より正確な値を取得するために、結果からこの誤差を差し引きたいと思います。
毎回 NStimer オブジェクトを開始する必要があり、時間とメモリを消費するため、NSTimer ではなく false と true に一時停止を設定して開始および停止できるため、CADisplayLink を使用しました。
これまでのところ、次のコードを作成しましたが、機能しません。
前もって感謝します
-(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;
}
}