iOS - 当我的 viewWillDisappear 被调用时 NSUserDefaults 不保存

发布于 2024-12-11 13:56:56 字数 492 浏览 0 评论 0原文

当在我的子视图之一上调用 viewWillDisappear 时,我试图保存我的 NSUserDefaults 。我可以确认它正在被调用。

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:@"test" forKey:@"123"];

[defaults synchronize];

然而,每当我重新启动应用程序并尝试使用它时:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

if (![defaults objectForKey@"test"])
    NSLog(@"did not exist");
else 
    NSLog(@"found it");

它永远找不到它。为什么?

I am trying to save my NSUserDefaults when the viewWillDisappear is called on one of my subviews. I can confirm it is getting called.

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:@"test" forKey:@"123"];

[defaults synchronize];

However whenever I restart the app and try to use it:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

if (![defaults objectForKey@"test"])
    NSLog(@"did not exist");
else 
    NSLog(@"found it");

it never finds it. Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏尔 2024-12-18 13:56:56

你正在交换你的钥匙和物体。应该是:

if (![defaults objectForKey@"123"])

You are swapping your key and object. It should be:

if (![defaults objectForKey@"123"])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文