2017-03-18 4 views
0

私は自分のアプリをトレイに最小化し、タイムゾーンを変更してからアプリを開きますNSTimeZoneはタイムゾーンの古い値を返します。 トレイに最小化してもう一度開くと、タイムゾーンに新しい値が返されます。どうすれば修正できますか?変更後の理由タイムゾーンNSTimeZoneは古いタイムゾーンを返します

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(reloadVC) 
               name:UIApplicationWillEnterForegroundNotification 
               object:nil]; 
-(void) reloadVC{ 
    NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone]; 
    NSLog(@"%@", currentTimeZone); 
} 

答えて

0

あなたがフォアグラウンドに入る上で行うことを計画しているすべてのタイムゾーンの変更をキャッチしている場合、代わりにこの通知を守ってください。NSSystem​Time​Zone​Did​Change​Notificationこの通知は、あなたのアプリがフォアグラウンドに入ったときに、処理されるようにキューイングされる

フォアグラウンドに入るために別のオブザーバーは必要ありません。

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(reloadVC) 
              name:NSSystem​Time​Zone​Did​Change​Notification 
              object:nil]; 
-(void) reloadVC{ 
    NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone]; 
    NSLog(@"%@", currentTimeZone); 
} 
関連する問題