【发布时间】:2016-04-01 21:54:19
【问题描述】:
我正在创建这个包含用户分数的应用程序。当他们退出应用程序时,将保存分数。我通过 NSUserDefaults 做到这一点,效果很好。问题是用户得分可以在其他视图中被操纵。例如,他们可以使用他们的分数来购买东西等。为此,我将分数保存在 NSUserDefaults 中,然后在下一个视图中检索保存的数据。问题是由于某种原因没有保存数据。我有一个每秒运行的计时器来保存分数,当我单击按钮转到下一个视图时,我使用 IBAction 保存它。这是我用来初始化变量的:
score = [[[NSUserDefaults standardUserDefaults] objectForKey:@"score"] longLongValue];
这是为了保存它:
[[NSUserDefaults standardUserDefaults] setObject:@(score) forKey:@"score"];
我使用的是 long long 变量,这就是为什么我将它作为对象而不是整数的原因。我不明白为什么在我改变观点时价值观会发生变化。每当我操纵分数值时,我都会保存它。在每个视图的顶部,我都在声明它。我意识到其他人也发布了类似的问题,我都看过了。这些回答并没有解决我的问题,这就是我在这里问的原因。同步
[[NSUserDefaults standardUserDefaults] synchronize];
对我也没有用。
【问题讨论】:
-
你忘了同步
标签: ios objective-c nsuserdefaults