导航到 Storyboard 中的 viewcontroller 总是会创建一个新的 ViewController,我该如何重用之前的 ViewController?

Navigating to a viewcontroller in storyboard always creates a new ViewController, how can I reuse the previous ViewController?

我有一个导航应用程序。根视图控制器 (RootViewController) 有一个导航到另一个视图控制器 (DetailViewController1) 的按钮。在 XCode 情节提要中很容易做到。

我的问题是:DetailViewController1 当我导航到它时总是创建一个新实例。当我尝试另一种方式时,我创建了另一个 DetailViewController2 class 并在应用程序启动时创建它的实例。然后我编写代码来推送 DetailViewController2 实例,在这种情况下,DetailViewController2 只创建一次。

问题是:情节提要板上是否有设置,以便我可以防止在导航到它时创建相同的视图控制器实例?就像我push手动创建的DetailViewController2.

不,没有。始终推送相同实例的唯一方法是从代码执行推送,正如您已经完成的那样。

为 viewcontroller 设置故事板 ID。然后在按钮 Action

    myViewController* vc=[self.storyboard instantiateViewControllerWithIdentifier:@"storyboardid"];
    [self.navigationController pushViewController:vc animated:YES];