gpt4 book ai didi

macos - 无法访问用户默认值

转载 作者:行者123 更新时间:2023-12-03 17:52:38 25 4
gpt4 key购买 nike

我已经为我的应用程序创建了一个首选项 Pane 。我使用首选项 Pane 将一些基本设置存储到用户默认值中。我无法从应用程序访问这些设置值。

正在将设置保存为用户默认值,如下所述:

NSString *fooBar = @"settings_value";
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
[userDef setObject:fooBar forKey:@"app_setting"];
[userDef synchronize];

现在,当我从应用程序访问它时:

NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
NSString *svcEnv = [userDef objectForKey:@"app_setting"];

我得到一个零值。但是,当从首选项 Pane 项目访问时,我将获得设置值,但不会在应用程序中获得。

如何检索应用程序中的设置值?

最佳答案

[NSUserDefaults standardUserDefaults] 返回当前应用程序的默认值,在首选项 Pane 的情况下是系统首选项应用程序。相反,您需要使用具有 bundle 标识符的域的首选项,该 bundle 包含您的首选项 Pane 的类:

NSUserDefaults *suds = [NSUserDefaults standardUserDefaults];
NSString * bundleID = [[NSBundle bundleForClass:[self class]] bundleIdentifier];

NSMutableDictionary *prefs = [[suds persistentDomainForName:bundleID] mutableCopy];

要将它们保存回来,请使用:

[suds setPersistentDomain:prefs forName:bundleID];
[sud synchronize];

关于macos - 无法访问用户默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com