コードでどこからでもプッシュできる ViewController を (私の StoryBoard から) 作成したいと思います (この ViewController は長時間使用されるため、StoryBoard に大量のセグエを追加したくありません) ...)。
また、現在の ViewController からプッシュされた ViewController にいくつかの変数を渡す必要があります。それを行うために、私はこのコードを使用しています:
NBItemDetailsViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ItemDetailsViewController"];
vc.item = self.selectedItem;
[self.navigationController pushViewController:vc animated:YES];
ほとんど機能しますが、プッシュされた ViewController では、viewDidLoad メソッドが 2 回呼び出されます。1 回目はアイテムを取得できますが、2 回目は null です。もちろん、表示されたViewControllerは2番目の呼び出しのもののようで、アイテムを取得できません。
何か案が ?StoryBoard でセグエを使用するより良いオプションはありますか (StoryBoard で ViewController を再利用する方法がないとは信じられません...) ?
PS:私はすでにviewDidAppearを使用しようとしました。