2010-10-17 5 views
0

J'essaie de travailler à travers certains des tutoriels AppsAmuck, mais ils semblent surtout utiliser du code que Apple a déprécié. Par exemple, il y a une fonction qui est appelée par une minuterie à chaque seconde qui ressemble à ceci:iPhone NSDate question

NSDate *now = [NSDate date]; 
    int hour = 23 - [[now dateWithCalendarFormat:nil timeZone:nil] hourOfDay]; 
    int min = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] minuteOfHour]; 
    int sec = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] secondOfMinute]; 
    countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, min,sec]; 

Malheureusement, rien de tout cela fonctionne avec le SDK en cours d'aujourd'hui. J'ai regardé les yeux brillants à la documentation de NSDate d'Apple et j'ai du mal à traduire l'intention de la fonction ci-dessus dans le jargon actuel NSDate.

+1

actuelle Cette exactement la même question relative à AppsAmuch a été posée et a plusieurs réponses utiles - [Comment obtenir la date actuelle dans Cocoa] (http://stackoverflow.com/questions/1070354/how-do-i-get-the-current-date-in-cocoa) – Anurag

Répondre

0

C'est ce que je l'utilise ... mais il existe d'autres méthodes

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *dateComponents = [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:[NSDate date]]; 
NSInteger hour = [dateComponents hour]; 
NSInteger minute = [dateComponents minute]; 
NSInteger second = [dateComponents second]; 
[gregorian release]; 

Renvoie l'heure, minute et seconde de la