prepareForSegueメソッド内の第1のVCから第2のVCのLabelを更新しようとしています。iOS >> prepareForSegue >> IBOutletのアップデートが動作しない?
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
MYSecondViewController* secondVC = (MYSecondViewController*)segue.destinationViewController;
secondVC.titleLabel.text = @"First VC Says: You Are Second!!"; //This doesn't work
secondVC.dataPassString = @"First VC Says: You Are Second!!"; //This works + secondVC viewDidLoad
}
ラベルを直接更新すると機能しません。 Stringプロパティを更新して、それをSecond VC viewDidLoadのLabelに割り当てると、それは機能します。
prepareForSegueを呼び出すと、2番目のVC viewDidLoadメソッドがまだ呼び出されていないことを意味しますか?
いくつかのinitメソッドが呼び出されましたか(NSStringオブジェクトが渡す可能性があります)?はいの場合はどちらですか?
第1のVCから第2のVCのIBOutletを更新する方法はありますか?あなたはそれが(prepareForSegue
後に発生)が表示されるまでの時間ですまで、ビューがロードされていないことがわかります
if(!secondVC.titleLabel)
NSLog(@"titleLabel is null and it likely hasn't been loaded yet")
:あなたは「prepareForSegue
」方法でこのラインに追加すると