调用视图控制器类而不弹出视图控制器本身

时间:2016-07-06 07:44:37

标签: ios swift viewcontroller

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

2 个答案:

答案 0 :(得分:1)

这令人困惑。

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

完成后,摆脱第一个VC,因为它没用,并将第二个视图控制器作为根。

ViewController意味着“被查看”,我建议你不要只是隐藏它,这是一个非常糟糕的架构。

答案 1 :(得分:1)

如果您根本不需要一个视图控制器,那么您可以从storyBoard中删除该View Controller,并将您的类子类化为NSObject类(让我们称之为DataProviderClass)而不是之前(UIViewController)子类。在导航堆栈中安装“虚拟”视图控制器并不是一个好主意。

您可以使用DataProviderClass类作为支持文件,为第二视图控制器提供任何数据。要在启动第二个VC之前在此类中执行计算/方法,只需在viewdidLoad方法中运行这些方法,方法是创建此NSObject类(DataProviderClass)的实例并保留对它的引用。

当您进一步调整时,您甚至可以轻松转移{{1}}的相同参考。