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 分になりますか? どうしたの?