我已经搜索了 SO,寻找在视图控制器之间共享数据的不同方法。我看到传回数据的委托是 ppl 建议的最常见方式,并且一些 ppl 使用单例来从应用程序的任何位置获取信息。我还不熟悉 Core Data,但从我目前看到的情况来看,Core Data 似乎类似于来自 ManagedObjectContext 的 Singleton,您可以访问数据。因此,只要您有对该对象的引用,您就可以访问该数据(如果这种理解有误,请随时纠正我)。
在这种情况下,我想知道是否应该使用委托或单例。我基本上有一个带有两个标签的标签栏控制器。一个选项卡使用委托或在要呈现的视图上分配属性在视图之间来回传递数据。
第二个选项卡是第一个选项卡的摘要视图。因此,在完全不同的视图堆栈上,我需要与选项卡一中相同的数据。在那种情况下,我应该使用 Singleton 以便可以从应用程序中的任何地方访问它吗?还是有更好的解决方案?
另外,我想知道如果您的应用程序即将关闭,您将如何归档数据。在我看来,如果我确实实现了单例,当我收到我的应用程序将进入后台的通知时,我可以查看我的单例并保存数据。但是如果我不使用单例,当应用程序进入后台时,我将如何保存数据。我是否将那个保存代码放在应用程序委托中。
我想最后我想了解在这种情况下哪种设计模式更适合在应用程序之间存档和共享数据。谢谢!