gpt4 book ai didi

objective-c - 使用 NSTimer 显示每秒帧数时间码

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:37 30 4
gpt4 key购买 nike

我正在开发一个需要显示运行时间码时钟的 iPhone/iPad 应用程序。使用此代码,我可以毫无问题地显示正确的小时、分钟和秒:

    - (void) viewDidLoad {
// Start the Timer method for here to start it when the view loads.
runTimer = [NSTimer scheduledTimerWithTimeInterval: .01 target: self selector: @selector(updateDisplay) userInfo: nil repeats: YES];
}

- (void)updateDisplay {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSDate *date = [NSDate date];

// Display each hour, minute, second and frame.
[formatter setDateFormat:@"hh"];
[timecodeHourLabel setText:[formatter stringFromDate:date]];

[formatter setDateFormat:@"mm"];
[timecodeMinuteLabel setText:[formatter stringFromDate:date]];

[formatter setDateFormat:@"ss"];
[timecodeSecondLabel setText:[formatter stringFromDate:date]];
}

问题是我需要每秒显示帧数。我知道计算 1/24 * 1000 可以让我知道一帧中有多少毫秒。我只是不知道如何使 NSDateNSTimer 函数与这段代码一起工作,并允许它根据需要尽快更新 UILabel用于运行时间码。

有什么建议吗?

最佳答案

如果您的计时器以 0.01 秒的周期运行,那么它的频率就是 100 帧/秒(好吧,最好说它每秒调用 100 次函数)。但是如果你需要显示精确的时间段(因为有时定时器可能会延迟),那么你需要存储之前的调用日期,然后使用

NSDate* new_date = [NSDate date];
double freq = 1.0 / [new_date timeIntervalSinceDate: old_date];
[old_date release];
old_date = [new_date retain];

关于objective-c - 使用 NSTimer 显示每秒帧数时间码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6319164/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com