0

我目前正在开发我的第一个 iPhone 应用程序,我想知道共享将在每个控制器中使用的对象的最佳方式是什么。

我正在考虑在其他控制器中引用包含所需数据的控制器并通过属性访问这些数据,这是一个好主意还是有更好的方法?

或者我们可以在应用程序的任何地方声明任何可访问的全局变量(不是 const)吗?

谢谢

4

2 回答 2

4

从您的问题中不清楚您正在处理什么样的数据,但我在 iphone 应用程序中使用的一种方法是包含应用程序状态和状态管理功能的单例对象。

在Cocoa With Love中找到了关于使用单例与应用程序代表来处理此类数据的很好的讨论,我同意他在这里所说的话。

例如,在这种情况下,应用程序有一个绑定到 Web 应用程序的用户帐户,因此在加载时应用程序将初始化单例对象,并且当用户登录时,它会在单例中保留对用户对象的引用,以便用户信息可以是引用用于 api 调用。

对于我的目的,这种方法效果很好,您可以在此处了解如何在 Objective-C 中创建单例类,并且在此处的苹果文档中几种方法可以提供相同的功能结果。

一旦定义了单例类,就可以在 applicationDidFinishLaunching 或主控制器的 viewDidLoad 中对其进行初始化,并初始化您需要管理的全局可访问数据。我强烈建议您阅读上面链接的 Cocoa With Love 文章,以考虑管理整个过程。

希望有帮助。

如果您遇到困难,我可以发布一些示例代码,但是可用的单例类示例非常易于使用。

于 2009-07-24T23:38:30.247 回答
0

如果你真的需要它是全局的,你可以把它放在 AppDelegate 中或者创建一个数据管理对象。但我认为这样做是不受欢迎的。

于 2009-07-24T22:58:18.890 回答