NSUserDefault 可以被覆盖吗?

发布于 2024-12-02 08:10:50 字数 266 浏览 0 评论 0原文

有一个 NSUserDefault ,其值:

[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"aValue"];

它可以被另一个值覆盖吗?如:

[[NSUserDefaults standardUserDefaults] setObject:@"2" forKey:@"aValue"];

如果是,可能有什么优点和缺点?

There's a NSUserDefault with Value:

[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"aValue"];

Can it be overwritten by the another value? As:

[[NSUserDefaults standardUserDefaults] setObject:@"2" forKey:@"aValue"];

If yes what may be the pros and cons?

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

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

发布评论

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

评论(1

吹梦到西洲 2024-12-09 08:10:51

是的,该值将被覆盖。 NSUserDefaults 用于存储信息,即使您的应用程序关闭后也是如此。

当您想要(例如在游戏中)增加用户已完成的关卡数量时,通常需要这样做。

我看到的唯一缺点是,如果您忘记了某个键的名称,您可能会在无意时意外地覆盖已有的值。

Yes, the value will be overwritten. NSUserDefaults is used to store information even after your app is closed.

This is often desired when you want to (for example in a game) increase the number of levels the user has completed.

The only disadvantage I see is that if you forget the name of a key, you might accidentally write over the value already there when you didn't intend to.

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