2010-06-22 15 views
5

Sono nuovo a lavorare con i timer sullo iPhone e avrei bisogno di supporto.Chiamare un metodo NSTimer

Ho un metodo come quello che segue il tempo e aggiorno un UILabel nel mio userinterface. Ho anche un NSTimer che chiama quel metodo una volta al secondo (mostro solo ore e minuti). Funziona bene, tranne che per il primo secondo l'App è in diretta (come ho capito ci vuole un secondo prima che il metodo timer invochi il metodo).

Vorrei chiamare il mio metodo da viewDidLoad, ma come posso fornire gli argomenti giusti? O c'è un modo migliore per farlo?

// 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; 
} 

Apprezzare tutto ciò che mi indurrebbe nella giusta direzione.

risposta

2

Nel tuo metodo, non usi la variabile del timer giusto? Quindi, perch basta chiamare lo [self updateTime:nil]. Che dovrebbe funzionare

+0

Sì hai ragione. Una soluzione così semplice e pulita. Testato e sta funzionando bene. Grazie! Sembra essere una soluzione con "fire" che puoi attivare l'evento del timer ma non ho ancora avuto il tempo di provarlo. – Structurer

2

più Una possibilità ... si può fare:

[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

Grazie Horace. Penso che andrò per la soluzione di vodkhangs però. – Structurer

Problemi correlati