2013-04-21 45 views
0

我有一个数据控制器类在我的应用程序中使用,它处理解析xml和一些对我的应用程序至关重要的其他操作。我想要做的就是将它分析的数据存储在一个数组中,该数组可以在我的应用程序的多个视图中进行访问。现在,每个视图都会创建自己的数据控制器类实例,因此数据存储的数组特定于该视图控制器。有没有办法为每个视图控制器仍然创建数据控制器类的单个实例,但数据存储在数组中,其中所有视图都可以访问它?我试图存储在NSUserDefaults中,但这似乎并不是最有效的方法。每个视图控制器都需要拥有自己的数据控制器类实例,因为我使用了每个视图控制器中使用的委托方法。我希望这是有道理的。从多个视图访问NSArray

回答

0

你有两种方式来实现这一点(好吧,也许两个以上,但这些都是最常见):

  • 在应用程序委托存储阵列和存取权限其财产。
  • 创建要保存数组的单例对象(以及其他可能的数据/方法)。
+0

哪一个你会更喜欢两个? – 2013-04-21 20:24:41

+0

如果你有小应用程序,并且只有一个数组,那么应用程序委托相当好。但是,如果您打算拥有更多共享数据,那么使用应用程序委托来达到此目的可能会变得非常糟糕。因此我更喜欢使用单例对象,因为这是很好的编程习惯,而且更正确的方法来做这件事情。 – 2013-04-21 20:29:30

+0

非常感谢。我是否仍然可以在单例中使用委托方法?我的想法是否定的,因为你只有一个实例,所以它怎么知道谁初始化了它? – 2013-04-21 20:33:41