2011-04-19 62 views
0

我已阅读了关于如何在iOS中创建时钟的指南。而且,它的工作原理应该和所有这一切,但我想进一步,并获得时钟来更新每个minut。所以它不再是“静态的”,所以如果你在上午12点16分打开应用程序,并让它运行,它应该自动更新每个分钟(上午12:17,上午12:18等)。获取时间在iOS中“运行”

这是指导与提供我的代码,

NSDateFormatter *datoVar = [[NSDateFormatter alloc] init]; 
[datoVar setDateFormat:@"hh:mm"]; 

LabelKlokken.text = [datoVar stringFromDate:[NSDate date]]; 

我试过,并试图通过谷歌和计算器看,但就是无法找到任何东西。

在此先感谢,Oluf尼尔森。

EDITED:我的代码现在看起来像这样

-(void)clock 
{ 
    NSDateFormatter *datoVar = [[NSDateFormatter alloc] init]; 
    [datoVar setDateFormat:@"hh:mm"]; 

    LabelKlokken.text = [datoVar stringFromDate:[NSDate date]]; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self clock]; 
    tid = nil; 
    tid = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(clock) userInfo:NULL repeats:YES]; 
} 

回答

0

您可以安排一个NSTimer检查时间每60秒。

dateTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; 

把你的代码放在updateTime方法中。更好的是,每秒检查一次,因为它可能发生在每分钟59秒转换时间,因此落后59秒的时间... 记住,一旦您想要退出更新,就会使计时器失效,以便您的应用程序不会崩溃你切换视图或其他东西。

[dateTimer invalidate]; dateTimer = nil;

+0

嘿,感谢:-),但它不到风度的工作,它不给我一个错误下去,但仍然无法更新,请检查我的编辑:)! – 2011-04-19 10:33:09

+0

Nvm。它的工作原理,现在:)我非常感谢你! – 2011-04-19 10:36:09

+0

没问题,阅读编辑,这很重要:) – 2011-04-19 10:42:48