2

我想要一些可以从我的应用程序中的任何位置访问的设置。有没有最好的方法来实现这个?现在我只是在我的应用程序委托中粘贴属性,然后通过以下方式访问它们:

ClientAppDelegate *appDelegate = (ClientAppDelegate *)[[UIApplication sharedApplication] delegate];
settingValue = appDelegate.setting;
4

2 回答 2

4

如果它们是持久的,请使用NSUserDefaults。如果不是,则将它们包装在一个类中,并为每个需要它们的类提供一个指针。在每种情况下,您都应该可以更改与配置对象的连接,以便 (1) 依赖性变得明显(“啊哈,此代码的行为取决于配置”)和 (2) 您可以提供自定义配置对象用于测试目的。Miško Hevery 有很多关于单例、耦合和测试的系列文章。您可以从名为Singletons are Pathological Liars的帖子开始,然后从那里跟进,这将对您的设计有好处。

于 2010-02-19T06:37:52.513 回答
1

使用NSUserDefaults——它们是存储应用程序设置的可靠、简单的方式,甚至在应用程序启动之间保持不变。

于 2010-02-19T06:37:06.243 回答