为什么没有时间自动更改为最新的分钟/小时?

时间:2013-03-23 00:00:04

标签: ios objective-c nsdate nsdateformatter

我正在为练习构建一个基本的时钟应用程序,由于某种原因,时间不会自动更改为最新的分钟或小时。例如,当前时间是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];

我究竟做错了什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

[currentTime setNeedsDisplay];

设置文本后。