传递数据,共享全局变量,Singleton?

时间:2015-10-08 06:18:18

标签: ios

我有一个带有三个UINavigationControllers的UITabbarController。每个导航控制器都有一个UITableViewController作为rootViewController。这是许多应用程序中的典型设计。现在我想在他们的UINavigationControllers中共享这三个UITableViewController之间的对象。我有以下想法:

  1. 在UITabbarViewController中,我可以声明一个属性,也许是'strong'。每个UITableViewController都可以访问对象使用self.tabbarcontroller.object

  2. 创建一个保留此对象的单例。但它可能导致单身滥用。一些主题建议使用依赖注入来避免滥用。但它似乎无法满足我的要求。

  3. 使对象成为全局变量。我真的不想采用这种方法。

  4. 我更喜欢使用方法1.有关数据传递的任何想法吗?

1 个答案:

答案 0 :(得分:0)

如果您需要将其传递给ViewController,就像Android意图一样,那么我会选择方法1。

如果你需要存储它并从不同的类中多次访问它,那么我会选择方法2或3,也许2更清楚。

希望这有帮助。