在IOS应用程序中随处使用对象

时间:2012-02-20 15:39:33

标签: ios ios5

我想在应用程序加载时获取数据并在所有应用程序中使用它。但是如何在我的应用程序中创建一个对象并在任何地方使用它?

提前致谢

3 个答案:

答案 0 :(得分:1)

你可以使用Singleton OO pattern或我经常做的是在RootViewController中创建一个类的实例。

可以使用委托或通过(disadvice)使用RootViewController实例icw窗口/单个查看的应用程序来访问此UIApplication

(YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController];

如果在.pch中定义全局变量,你甚至可以加快速度:

#define ROOTVIEWCONTROLLER ((YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController])

答案 1 :(得分:0)

在AppDelegate中创建一个属性,并将数据加载到该变量中。

[[UIApplication sharedApplication] delegate]

您可以从应用程序中全面访问AppDelegate吗?因此,您可以访问您的属性和值;)

希望有帮助吗?

答案 2 :(得分:0)

我看到的最常见方式是使用App Delegate。或许,因为这是最简单的方法。但是,App Delegate经常被滥用。一些开发人员倾向于给App Delegate负责。我曾多次看到开发人员使用App Delegate作为他们的数据模型。这将被视为糟糕的设计。

我这样说就是警告不要让这个失控。因此,这是在应用程序中的任何位置使用初始化对象的一种方法:

  1. 在App Delegate
  2. 中创建对象
  3. 添加getter和setter App Delegate中的对象
  4. 当您需要使用对象的getter方法将应用程序中某个对象作为App Delegate引用时,如下所示:

    AppDelegate *appDelegate = (AppDelegate *)
                                      [UIApplication sharedApplication].delegate;