У меня есть приложение, которое я обновляю до OS4. В этом я использую выбор времени. Из этого я хочу получить час и минуту как целое число. Это код, который я использовал ранее для этого...
NSDate *selected = [timePicker date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit| NSMinuteCalendarUnit |NSSecondCalendarUnit;
NSDateComponents *compsDur = [gregorian components:unitFlags fromDate:selected];
int hDur = [compsDur hour];
int mDur = [compsDur minute];
int sDur = [compsDur second];
[gregorian release];
Теперь здесь все работало нормально. Моя проблема в том, что когда я обновляюсь до OS4, если я меняю настройки времени своих телефонов, скажем, с Великобритании на США, я получаю случайное значение, а не то, что ввел пользователь.
Чтобы дать вам конкретный пример, по британскому времени я установил время на 1 минуту, я получаю возвращаемое значение для mDur как 1. Если я затем переведу свой телефон на нью-йоркское время, я получу 19 часов и 6 минут? Что происходит?