我正在开发Mac应用程序。该应用程序的左侧有一个通用的源视图,而右侧则是整个窗口的主要部分的详细视图。

这就像一个主从关系,但是源视图中的每个元素都需要另一个详细视图。实际上,我已经为源视图中的每个元素设计了特定的NSViewController。

如果要在这些NSViewController之间进行切换,则意味着如果在源视图中选择了另一个元素,则会删除当前视图并添加新选择的NSViewController的视图。每次更改NSViewController时,其状态都会丢失。当用户回到该NSViewController时,他必须重新开始。

我现在的问题是:如何保存NSViewController的状态,以便可以在这些状态之间切换而又不丢失其状态,并可以继续我离开的地方?

最佳答案

有关您的问题的两个注意事项:


将模型数据保存在模型类中。这意味着只要模型类保留通过视图控制器进行的更改,您就可以始终重新创建视图控制器并设置其表示的对象。当您需要实例化视图控制器时,将其表示的对象设置为模型类(的表示)。
从其超级视图中删除视图时,不必释放其相应的视图控制器。相反,您可以在窗口控制器/应用程序委托中保留对所有视图控制器的强引用,因此实际上不会丢失任何状态。

关于xcode - 在NSViewController之间切换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6219275/

10-10 23:45