[英]How to work with Settings.bundle
我正在使用最新的SDK开发iOS应用。
我用Root.plist
和另外四个.plist
创建了Settings.bundle
,这些文件上的每个设置都有每个默认值。
这是我第一次使用Settings.bundle
,我迷路了。 我发现了这个问题 ,他们说我每次运行应用程序时都必须阅读Settings.bundle
默认值,但我不明白为什么。
我想我必须在这里继续使用NSUserDefaults
来读取设置值。
我有以下问题:
顺便说一句,现在我有以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Set the application defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults boolForKey:@"firstRun"])
{
NSDictionary *appDefaults = [PreferenceDefaultValues dictionary];
[defaults registerDefaults:appDefaults];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
[defaults synchronize];
}
return YES;
}
可以使用NSUserDefaults
访问Settings.bundle plist中任何首选项的identifier
。 例如,如果您有一个带有名为allowDiagnostics
的标识符的首选项,则可以使用[NSUserDefaults standardUserDefaults] boolForKey:@"allowDiagnostics"]
访问该项目的值(假设它是BOOL
项)。
您可以使用NSUserDefaultsDidChangeNotification
来通知您的首选项更改。
您阅读它们的方式相同。 继续1的示例, [NSUserDefaults standardUserDefaults] setBool:YES forKey:@"allowDiagnostics"]
。 但是请注意,允许用户从多个位置(Settings.bundle和应用程序中的某个位置)更改选项可能会使用户感到困惑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.