gpt4 book ai didi

iphone - 保存增量 int 变量

转载 作者:行者123 更新时间:2023-11-28 22:51:04 25 4
gpt4 key购买 nike

我需要保存一个变量,该变量会在用户每次点击应用内的按钮时递增。我一直在尝试使用 NSUserDefaults 来做到这一点,但没有成功。这是我正在使用的代码:

[[NSUserDefaults standardUserDefaults] setInteger:i++ forKey:@"AppCount"];

但是,当我在日志中输出此内容时,我一直得到 0

如有任何帮助,我们将不胜感激。

最佳答案

尝试添加:

[[NSUserDefaults standardUserDefaults] synchronize];

每次更改整数值后。

引用 Apple 关于synchronize 的文档:

Writes any modifications to the persistent domains to disk and updates all unmodified persistent domains to what is on disk.

http://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html#//apple_ref/occ/instm/NSUserDefaults/synchronize

所以通过这个修改,你的最终代码应该是这样的:

[[NSUserDefaults standardUserDefaults] setInteger:i++ forKey:@"AppCount"];
[[NSUserDefaults standardUserDefaults] synchronize];

编辑:实际上再三考虑,试一试:

我认为问题在于使用 i++ 假设应用程序将始终能够跟踪计数,并且每次您重新进入应用程序时我都会重置。

下面的作品,我刚刚测试过。

if (![[NSUserDefaults standardUserDefaults] integerForKey:@"AppCount"]) {
[[NSUserDefaults standardUserDefaults] setInteger:i forKey:@"AppCount"];
}else{
[[NSUserDefaults standardUserDefaults] setInteger:[[NSUserDefaults standardUserDefaults] integerForKey:@"AppCount"] + 1 forKey:@"AppCount"];
}
[[NSUserDefaults standardUserDefaults] synchronize];

关于iphone - 保存增量 int 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000510/

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