多个视图的单一视图控制器

2024-02-07

我正在尝试制作一个具有多个视图但只有一个视图控制器的注册表单。进入下一个视图后,我将输入写入一个结构,该结构稍后将发送到服务器。我面临的问题是,进入新视图时 VC 会重新初始化,因此用户结构也会重新初始化。 有什么办法可以避免拥有多个 ViewController 吗?


如果使用一个视图控制器的唯一原因是为了可以在尝试呈现的不同屏幕上保留数据,那么您可能应该考虑将数据存储在视图控制器类之外。例如,通过使用另一个具有共享实例的类:

class DataContainer {

    static let shared = DataContainer()

    var someString: String?

}

您现在可以从任何视图控制器访问相同的数据,如下所示(移动到另一个视图控制器时不会丢失数据):

if let someString = DataContainer.shared.someString {
    print(someString)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个视图的单一视图控制器 的相关文章

随机推荐