【问题标题】:Why isn't the time auto changing to the latest minute/hour?为什么时间不自动更改为最新的分钟/小时?
【发布时间】:2013-03-23 00:00:04
【问题描述】:

我正在构建一个用于练习的基本时钟应用程序,但由于某种原因,时间不会自动更改为最新的分钟或小时。例如,当前时间是 17:56,但显示的是 17:54,这是我打开应用程序的最后时间。

NSDate *now = [NSDate date];
NSDateFormatter *theOutput = [[NSDateFormatter alloc] init];
[theOutput setDateFormat:@"HH:mm"];
NSString *dateString = [theOutput stringFromDate:now];

NSString *time = [[NSString alloc] initWithFormat:@"The current time is %@", dateString];
[currentTime setText:time];

我到底做错了什么?

【问题讨论】:

  • 您需要在每次需要时间时调用此代码。它不会自行更新。

标签: ios objective-c nsdate nsdateformatter


【解决方案1】:

您显示的代码将数据和时间设置为该代码执行的时间。该代码中没有任何内容可以更新时钟。您是否每分钟调用一次此代码?如果不是,您需要使用 NSTimer 每分钟调用一次。

【讨论】:

  • 哦,有道理。谢谢!
【解决方案2】:

检查是否分配了currentTime 变量。如果是,请致电:

[currentTime setNeedsDisplay];

在你设置文本之后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2020-01-13
    • 2018-12-27
    • 2011-10-26
    • 2015-08-08
    相关资源
    最近更新 更多