我的iPhone应用程序设置很少,用户可能会经常更改。我想知道是否有任何建议的方法来处理这些设置(阅读和保存它们)。在Apple网站上,我发现只有一个关于将应用程序设置与设置应用程序(link)集成的教程,但我不希望用户退出我的应用程序,因此他可以更改选项。
是否有任何默认机制可以在应用程序本身处理此类设置,还是我必须实现自己的解决方案?
答案 0 :(得分:43)
在iPhone中存储设置的最佳和最简单的方法是NSUserDefaults
。使您不必处理文件系统或plist或任何其他东西。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *storedVal = @"This is what you want to save";
NSString *key = @"storedVal"; // the key for the data
[defaults setObject:storedVal forKey:key];
[defaults synchronize]; // this method is optional
// Get the results out
NSString *results = [defaults stringForKey:key];
这就是Apple所说的可以存储在默认值
中的对象类型默认对象必须是属性 列表,即(或用于...的实例) 集合实例的组合 of):NSData,NSString,NSNumber, NSDate,NSArray或NSDictionary。如果 你想存储任何其他类型的 对象,您通常应该存档 它创建一个NSData实例。
还有一些注意事项,比如存储NSDictionary时,键值必须是字符串。
答案 1 :(得分:4)
如果您正在寻找用于在应用内部编辑设置的用户界面,请查看http://www.inappsettingskit.com上的InAppSettingsKit
答案 2 :(得分:0)
从iPhone开发人员连接中阅读File and Networking Guide。它将解释如何获取应用程序沙箱中不同预定义位置的路径。我建议您使用NSDictionary来存储您的首选项,这些首选项可以轻松保存到文件系统并转换为plist。