在不弹出视图控制器本身的情况下调用视图控制器 class

Calling a view controller class without popping up the view controller itself

我正在升级我的应用程序版本,因此需要将两个视图控制器减少为一个。因此,我调用第二个视图控制器跳过第一个。但是这里我需要调用第一个视图控制器的 class 因为有一些重要的声明和实现。如何在不弹出其视图控制器的情况下调用第一个视图控制器的 class。

这令人困惑。

为什么不将第一个 VC 中的所有初始化代码(复制粘贴您的属性、viewDidLoad 中的初始化等)复制到第二个 VC 中?

完成后,删除第一个 VC,因为它没用,让第二个视图控制器成为根视图控制器。

一个ViewController本来就是"viewed",我建议你不要随便隐藏它,那是一个非常糟糕的架构。

如果您根本不需要一个视图控制器,那么您可以从 storyBoard 中删除该视图控制器,并且还可以将 class 您的 class 作为 NSObject class (让我们称它为 DataProviderClass) 而不是以前的 (UIViewController) 子类。在导航堆栈中使用 "dummy" 视图控制器不是一个好主意。

您可以将 DataProviderClass class 用作支持文件,为您的 Second View Controller 提供任何数据。并在启动第二个 VC 之前在此 class 中执行 calculations/methods,只需 运行 viewdidLoad 方法中的这些方法,方法是创建此 NSObject class 的实例( DataProviderClass) 并保留对它的引用。

当你进一步 segue 时,你甚至可以很容易地转移 DataProviderClass 的相同引用。