2010-06-22 21 views
5

Jestem nowy w pracy z timerem na iPhone i potrzebuję wsparcia.Wywołanie metody NSTimer

Mam metodę jak poniżej, która wymaga czasu i aktualizacji UILabel w moim userinterface. Mam też NSTimer, który wywołuje tę metodę raz na sekundę (pokazuję tylko godziny i minuty). Działa to dobrze, z wyjątkiem pierwszej sekundy, w której aplikacja jest na żywo (jak rozumiem, zajmuje jedną sekundę, zanim metoda zadzwoni).

Chciałbym nazwać moją metodę od viewDidLoad, ale jak mogę podać odpowiednie argumenty? Czy istnieje lepszy sposób na zrobienie tego?

// Timer for updating time 
[NSTimer scheduledTimerWithTimeInterval:1.0f 
           target:self 
           selector:@selector(updateTime:) 
           userInfo:nil 
           repeats:YES]; 


-(void)updateTime: (NSTimer *) timer { 

    currentTime = [NSDate date]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    // display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings 
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 
    NSString *currentTimeString = [dateFormatter stringFromDate:currentTime]; 
    [dateFormatter release]; 

    timeLabel.text = currentTimeString; 
} 

Doceń wszystko, co wskaże mi właściwy kierunek.

Odpowiedz

2

W swojej metodzie nie używasz zmiennej timera w prawo? Dlaczego więc zadzwonić pod numer [self updateTime:nil]. To powinno działać

+0

Tak masz rację. Takie proste i zadbane rozwiązanie. Testowane i działa dobrze. Dzięki! Wydaje się również być rozwiązaniem z "ogniem", które można uruchomić zdarzenie licznika czasu, ale nie miałem czasu, aby go przetestować jeszcze. – Structurer

2

One więcej opcji ... można zrobić:

[NSTimer scheduledTimerWithTimeInterval:0.01f 
           target:self 
           selector:@selector(updateTime:) 
           userInfo:nil 
           repeats:NO];  

[NSTimer scheduledTimerWithTimeInterval:1.0f 
           target:self 
           selector:@selector(updateTime:) 
           userInfo:nil 
           repeats: YES]; 
+0

Dzięki Horace. Myślę, że jednak pójdę na rozwiązanie vodkhangów. – Structurer