1

我正在开发一个学习钢琴的应用程序,我想在应用程序购买中提供非消耗性课程。课程所需的所有文件都将与应用程序捆绑在一起(因为它们不占用大量空间;两个 PDF,一个 .mid 和一个 .png)。目前,出于测试目的,我刚刚将课程硬编码到我的应用程序中,并且它们被加载到 viewDidLoad 上。

我的问题是如何存储一个课程库,以便在购买时可以修改以表明它已被购买?本质上,我要做的就是在收到完成的交易时,purchaseStatus 的值将从 0 变为 1。

存储的数据由许多字符串、NSNumbers 和一个 NSNumbers 数组组成。

我已经看到了一些选项,例如 plists 和 NSUserDefaults,但我真的很感谢一些关于最佳方法的建议。

提前致谢 :)

4

1 回答 1

0

我想说将每个可购买模块的购买状态存储在您存储在 NSUserDefaults 中的 NSDictionary 中可能是最直接/最简单的选择。每次启动应用程序时,查询此字典以确定已购买的内容,并相应地向用户显示这些购买的实体(以表格视图中的条目、图标、不再隐藏的按钮等形式)。

Plists 也是公平的游戏,但它需要更多的维护(将 plist 存储在哪里,以便它可以由 iCloud 备份等),而 NSUserDefaults 已经为你处理了所有事情(它由 iCloud 备份)。

于 2012-07-28T21:26:23.940 回答