iphone全局设置 - 实现它的最佳方式?

时间:2010-02-19 06:33:37

标签: iphone singleton settings cocoa-design-patterns uiapplicationdelegate

我想要一些我可以在我的应用中随处访问的设置。有没有最好的方法来实现这个?现在我只是在我的app委托中粘贴属性,然后使用:

访问它们
ClientAppDelegate *appDelegate = (ClientAppDelegate *)[[UIApplication sharedApplication] delegate];
settingValue = appDelegate.setting;

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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