私のコードは次のようになります:
if (messageBox == nil) {
messageBox = [[MessageBoxController alloc] initWithNibName:@"MessageBoxView" bundle:nil];
}
[messageBox.MessageLabel setText: someString];
[self presentModalViewController:messageBox animated:YES];
ただし、上記のロジックが初めて実行されると(そして、messageBoxは実際にはnilで開始されます)、新しいラベルテキスト(someString)は表示されません。ただし、このメソッドを実行すると、テキストは正しく表示されます(もちろん、最新の「someString」が表示されます。前回メソッドを呼び出したときのインスタンスではありません)。
ラベルテキストを設定した直後に[messageBox.viewsetNeedsDisplay]を試しましたが、それも役に立ちません。messageBox viewDidLoadメソッドでは、非同期の初期化があった場合や、何があった場合に備えて、[self.MessageLabel setText:self.MessageLabel.text]も設定しました。
このメソッドを初めて呼び出すと、新しいラベルテキストが表示されないのはなぜですか?