gpt4 book ai didi

objective-c - NSUserDefaults 没有在 cocoa 中保存任何值

转载 作者:行者123 更新时间:2023-12-03 17:47:19 24 4
gpt4 key购买 nike

我正在尝试使用 NSUserDefaults 保存 BOOL 值和一些简单的字符串。但 NSUserdefaults 没有保存任何值。我还在将值保存到 NSUserDefaults 后使用了同步。我用来将 BOOL 保存到 NSUserDefaults 的方法如下。

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"loadfirsttimewindow"];
[[NSUserDefaults standardUserDefaults] synchronize];

我用来将字符串保存到 NSUserDefaults 中的方法如下。

[[NSUserDefaults standardUserDefaults] setValue:title1 forKey:@"item1"];
[[NSUserDefaults standardUserDefaults] synchronize];

所以请让我知道我的 NSUserDefaults 值存储在哪里以及为什么它没有将任何值保存到 NSUserDefaults 中。

我只想保存即使在应用程序关闭后仍会保存的值。

我用于将值保存到 NSUserDefaults 中的代码示例如下:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{

NSLog(@"%hhd",[[NSUserDefaults standardUserDefaults] boolForKey:@"loadfirsttimewindow"]);
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"loadfirsttimewindow"])
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"loadfirsttimewindow"];
[[NSUserDefaults standardUserDefaults] synchronize];
*I have written code for the thing I have to do only when the application is launched for the first time.*
}
else
{
*I have written code for the thing I have to after the application is launched for the first time.*
}
}

最佳答案

我从下面给出的链接找到了我的解决方案:

Mac sandbox created but no NSUserDefaults plist

当您在测试/调试时将容器移动到垃圾箱时,cfprefsd(请参阅事件监视器)仍然保留指向 .plist 的链接。清空垃圾箱并强制退出 cfprefsd(用户和 root)。

关于objective-c - NSUserDefaults 没有在 cocoa 中保存任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780525/

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