Ich bin neu in der Arbeit mit Timern auf der iPhone
und würde einige Unterstützung benötigen.Aufruf einer NSTimer-Methode
Ich habe eine Methode wie unten, die die Zeit dauert und ein UILabel
in meinem userinterface
aktualisieren. Ich habe auch eine NSTimer
, die diese Methode einmal pro Sekunde aufruft (ich zeige nur Stunden und Minuten). Dies funktioniert gut, außer für die erste Sekunde ist die App live (wie ich es verstehe dauert es eine Sekunde, bevor die timer
die Methode aufruft).
Ich möchte meine Methode von viewDidLoad
aufrufen, aber wie kann ich die richtigen Argumente liefern? Oder gibt es einen besseren Weg, dies zu tun?
// 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;
}
Schätzen Sie alles, was mich in die richtige Richtung weisen würde.
Ja, Sie haben Recht. Solch eine einfache und saubere Lösung. Getestet und funktioniert gut. Danke! Scheint auch eine Lösung mit "Feuer" zu sein, dass Sie das Timer-Ereignis auslösen können, aber ich hatte noch nicht die Zeit, es zu testen. – Structurer