我的iPhone应用程序有一些设置,用户可能经常更改。我想知道是否有处理此类设置(读取和保存它们)的建议方法。在苹果网站上,我只找到了一个有关将应用程序设置与设置应用程序集成的教程(链接),但我不希望用户退出我的应用程序,以便他可以更改选项。
在应用程序本身中是否有默认机制来处理这样的设置,还是我必须自己实现解决方案?
在应用程序本身中是否有默认机制来处理这样的设置,还是我必须自己实现解决方案?
在iPhone上存储设置的最佳且最简单的方法是通过NSUserDefaults
。这样可以避免处理文件系统或属性列表等其他内容。
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];
以下是苹果关于可以存储在默认值中的对象类型的说明:
默认对象必须是属性列表,也就是说,它必须是 NSData、NSString、NSNumber、NSDate、NSArray 或 NSDictionary 的实例(或对于集合类型,这些类的组合)。如果您想要存储任何其他类型的对象,则通常应将其归档以创建 NSData 的实例。
还有一些细节需要注意,例如如果您存储了 NSDictionary,则键值必须是字符串。
NSString
之外的其他类型的值,例如数字或日期? - RaYell