Ios 从多个源段保留视图控制器的状态
场景 我有一个Objective-C和Swift的混合项目,其中包含导航控制器和选项卡栏控制器。我有一个视图控制器(唯一一个用Swift编写的控制器),它在故事板上从导航视图控制器和选项卡栏控制器都有自己的分段。视图的持久性只需要在应用程序打开或在后台时有效 问题 我遇到的问题是,当从导航控制器或选项卡栏控制器访问时,保持Swift view控制器的状态不变 可能的解决方案Ios 从多个源段保留视图控制器的状态,ios,objective-c,swift,Ios,Objective C,Swift,场景 我有一个Objective-C和Swift的混合项目,其中包含导航控制器和选项卡栏控制器。我有一个视图控制器(唯一一个用Swift编写的控制器),它在故事板上从导航视图控制器和选项卡栏控制器都有自己的分段。视图的持久性只需要在应用程序打开或在后台时有效 问题 我遇到的问题是,当从导航控制器或选项卡栏控制器访问时,保持Swift view控制器的状态不变 可能的解决方案 一种可能的解决方案是从导航堆栈中删除segue,并仅将其保留在选项卡栏控制器上吗?如果是这样,如果我以编程方式从导航堆栈中
一种可能的解决方案是从导航堆栈中删除segue,并仅将其保留在选项卡栏控制器上吗?如果是这样,如果我以编程方式从导航堆栈中分离以调用选项卡栏控制器segue,这会保持视图控制器的状态吗?然后我甚至可以将数据传递给该VC吗?听起来您有一些视图控制器的多个实例。只要它们都共享数据模型的单个实例,这就不应该是问题。如果您将数据模型存储在视图控制器中,那么您需要重构代码,这正是Swift VC所发生的。VC被重新实例化并放在堆栈上,导致大量内存使用。我通过使用“展开”解决了我的问题