我正在开发一个学习钢琴的应用程序,我想在应用程序购买中提供非消耗性课程。课程所需的所有文件都将与应用程序捆绑在一起(因为它们不会占用任何空间或空间;两个PDF,一个.mid和一个.png)。目前,出于测试目的,我刚刚将课程硬编码到我的应用程序中,并且它们被加载到viewDidLoad上。
我的问题是如何存储我可以修改的课程库,以便在购买时显示已购买的课程?基本上,我想要做的就是当收到完成的交易时,purchaseStatus的值将从0变为1.
存储的数据由许多字符串,NSNumbers和一组NSNumbers组成。
我见过一些选项,例如plists和NSUserDefaults,但我真的很感激有关最佳方法的一些建议。
提前致谢:)
答案 0 :(得分:0)
我想说将每个可购买模块的购买状态存储在您存储在NSUserDefaults中的NSDictionary中可能是最简单/最简单的选择。每次启动应用程序时,查询此词典以确定已购买的内容并相应地向用户显示这些购买的实体(以表格视图中的条目,图标,不再隐藏的按钮等形式)。
Plists也是公平的游戏,但它需要更多的维护(在哪里存储plist以便它可以由iCloud支持等)而NSUserDefaults有所有照顾你(它支持)由iCloud提升。)