【问题标题】:Countdown Timer in CocoaCocoa 中的倒数计时器
【发布时间】:2009-08-21 18:55:37
【问题描述】:

我想知道是否有某种方法可以创建一个从给定时间开始倒计时的计时器。例如,假设我希望这个计时器持续一个小时。将有一个 NSTextField 将显示剩余时间(例如 25 分钟),并将每分钟自动更新为新值。然后,当最后一个小时过去时,它将运行一些功能。我看到有人为此建议使用 NSTimer 和 NSDate,但我想知道你们都可以建议什么。

谢谢!

编辑:我当前的代码(timeInstance 是一个实例变量):

- (void)awakeFromNib:
{
timeInstance = [[NSDate date] addTimeInterval:(10 * 60)];
[timeInstance retain];

[timer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(timer:) userInfo:NULL repeats:YES];
}

- (void)timer:(NSTimer *)myTimer
{
NSDate *now = [NSDate date];
// Compare
}

【问题讨论】:

    标签: cocoa count nsdate nstimer


    【解决方案1】:

    NSTimer 和 NSDate 听起来非常合理。

    编辑:作为旁注,随着目标时间的临近增加频率可能是个好主意;允许您从小时显示更改为分钟显示到秒显示。

    【讨论】:

    • 你有任何链接可以描述如何创建倒计时效果吗?似乎大多数人只是在谈论数数。
    • 倒数就像倒数一样。您取目标日期和当前日期之间的差值。
    • 您介意看看我的代码(在主帖中)吗...我只是不知道下一步该做什么。
    • 接下来要做的就是你所说的你想做的:把剩余的时间放到场上,测试倒计时是否完成,如果已经完成,就做你等待的事情。
    • 嗨,彼得:我的问题是我不知道如何找到两者之间的时间量。知道这个问题的答案将使我能够投入时间并测试时间是否小于 0 分钟。
    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 2013-12-14
    • 2017-04-14
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多