我正在用最新的SDK开发一个iOS应用程序。
我已经创建了一个带有Settings.bundle
的Root.plist
和另外四个.plist
,并且这些文件上的每个设置都有每个默认值。
这是我第一次和Settings.bundle
合作,我迷路了。我发现了这个question,他们说我每次运行应用程序时都必须读取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;
}
发布于 2013-03-11 18:17:10
identifier
访问Settings.bundle plist中任何首选项的NSUserDefaults
。例如,如果您有一个名为allowDiagnostics
的首选项,那么您可以使用[NSUserDefaults standardUserDefaults] boolForKey:@"allowDiagnostics"]
访问该项的值(假设它是一个BOOL
项)。NSUserDefaultsDidChangeNotification
获得对您的首选项的任何更改的通知。[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"allowDiagnostics"]
。但是请注意,允许用户从多个地方(Settings.bundle和应用程序中的某个位置)更改选项,可能会让用户感到困惑。https://stackoverflow.com/questions/15344884
复制相似问题