0

我是新手,被困住了,任何帮助都会很棒!我正在使用 Xcode 来构建我的应用程序。

我有一个 IBAction“按下按钮”,这会生成随机数,然后我有一堆 if 语句。最终,如果事情与我的 long long 变量“coins”相匹配,就会有一个数值。现在我只是将这个值更改为硬币 = 硬币 + 10,然后将其显示在 UILabel 中。在所有计算之后,每当用户按下按钮时,我现在都需要存储该值。这样他们的“硬币”总数就会被添加或减去。此外,我还想将广告添加到“硬币”变量中并在应用内购买。所以我知道我需要一种方法来存储价值,即使应用程序关闭并重新打开也是如此。

有没有办法使用 NSUserDefaults 来存储该值,或者在原始的 IBAction buttonPressed 中?或者任何帮助或建议都会很棒!谢谢和抱歉,如果这听起来很蹩脚,但我在我的第一个应用程序上:)

4

1 回答 1

1

在 NSUserDefaults 中存储一个数字:

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedLongLong:coins] forKey:@"coins"];

要从 NSUserDefaults 中检索并将其存储到硬币中:

coins = [[[NSUserDefaults standardUserDefaults] objectForKey:@"coins"] unsignedLongLongValue];

这是假设您已将硬币声明为 unsigned long long,而不是已签名的。此外,如果您想通过这些方法来存储 NSIntegers,还有一些方便的方法。

编辑:刚刚意识到你想拥有 IAP,应该更仔细地阅读。我建议不要在 NSUserDefaults 中存储任何有价值的东西(密码、用户名、可购买的货币、可以提交到在线排行榜的高分等)。它被存储为一个简单的.plist(XML),据我所知可以相对容易地进行编辑。

于 2012-11-13T00:11:42.393 回答