iPhone NSDate вопрос - PullRequest
       0

iPhone NSDate вопрос

0 голосов
/ 17 октября 2010

Я пытаюсь пройтись по некоторым учебникам по AppsAmuck, но в основном они используют код, который Apple устарел. Например, есть функция, которая вызывается таймером каждую секунду и выглядит следующим образом:

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];

К сожалению, все это не работает с сегодняшним SDK. Я смотрел на документ AppleDD NSDate с блеском в глазах, и у меня возникли проблемы с переводом намерения функции, описанной выше, в текущий язык NSDate.

1 Ответ

0 голосов
/ 17 октября 2010

Это то, что я использую ... но есть и другие методы

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];

Возвращает часы, минуты и секунды из текущего

...