みなさん、こんにちは。よろしくお願いします。ビューがフォアグラウンドに戻ったときに、コードを介してViewControllerのUILabelのテキストプロパティを変更しようとしています。AppDelegate.mファイルの「applicationDidBecomeActive」を使用してViewController.mのメソッドを呼び出していますが、これは機能します。問題は、設定アプリで設定を変更した後、呼び出したメソッドも「ViewDidLoad」メソッドもUIlabel.textを更新しないことです。テキストは、最後の更新からの文字列を送信しているかのように、ほとんど変更されません。テキスト文字列に含めるたびに、設定バンドルからNSUserDefault値を取得しています。フェッチはOKを返します。UILabelは更新されません。参考までに、「viewDidLoad」をトリガーするセルフビューの前に同期を呼び出しています。
明確にするために、「viewDidLoad」メソッドが起動時に初めて実行されるときは、正常に機能します。UILabel lblResultTitle.textが更新されないのは、ホームボタンを押し、設定アプリで設定を変更してからアプリに戻った後でのみです。助けてください...
ViewDidLoadのコードは次のとおりです。
-(void) viewDidLoad
{
NSUserDefaults *settings = [NSUserDefaults standardDefaults];
self.lblResultTitle.text = [NSString stringWithFormat:@"Speed %@ =", [settings stringForKey:kunit]] ;
[super viewDidLoad];
}