背景:
我正在概括我刚刚继承的 iOS 项目的某些方面。我想要的一件事是从应用程序中的任何地方可访问的数据结构,用户控件可以访问特定于应用程序的样式信息(UIColor
定义等)。
问题:如果我定义了一个包含需要“全局”访问的数据的数据结构,那么在哪里被认为是实例化该对象的正确位置,以及其他对象获取对它的引用的正确方法是什么?一些研究发现了以下选项:
- 创建数据结构作为 my 的属性
AppDelegate
;初始化它applicationDidFinishLaunching
;通过访问它((myAppDelegate *)[UIApplication sharedApplication].delegate).getStyleDefs
。 - 使结构成为全局单例(延迟加载或急切地从 实例化
AppDelegate
)。
我还有什么其他选择?