如何快速在UITabBar之间传递数据

Posted

技术标签:

【中文标题】如何快速在UITabBar之间传递数据【英文标题】:How to pass data between UITabBar in swift 【发布时间】:2016-07-26 06:24:59 【问题描述】:

在 UITabBar 之间传递数据的最佳方式是什么。我知道它易于使用,为 segue 做准备,但我没有为这个项目使用故事板。提前谢谢你。

【问题讨论】:

您可以使用 NSNotificationcenter & NSUserDefaults 来保存数据。 同意@sourav。但我还添加了 NSCoding 的使用。另一种方法是自定义 TabBarController 以使其包含通用属性。 根据这种类型的要求,您可以全局创建字典并在标签栏控制器之间的任何位置访问它。 @sourav 谢谢你的建议。我将使用 NSUserDefaults,这有点困难的原因是因为我正在检索用户坐标。我正在考虑放置 func 以将其保存到 nsDefaults 在视图中会消失,但即使没有必要也会将其保存到 NSUserdefaults 。如何仅在选择特定标签栏时保存。 我认为你可以只添加一个 if 条件来保存你想要保存 NSUserdefaults 的标签栏。 【参考方案1】:

取决于你要传递的数据:

如果数据只在目标视图控制器中使用,您可以简单地定义公共属性并在初始化时和呈现之前分配它们。 如果是源数据和目标数据都可以使用的公共数据,那么最好定义一个第三方(Provider、Manager...)来为两者提供公共数据。

【讨论】:

@Moazz 我正在传递用户当前坐标。 在这种情况下我推荐第二种选择

以上是关于如何快速在UITabBar之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在两个视图控制器之间的快速应用程序中传递 json 数据

快速在标签查看的控制器之间传递数据?

在 VC 之间快速传递数据

在没有 Segues 的 ViewController 之间传递数据

Android如何在Activity和Service之间传递数据

如何在两页面之间传递JSON数据