在 iPhone 上加载包含游戏关卡地图的静态数据文件的最佳方式是什么?我见过一些使用 XML 文件,但在我的情况下这似乎有点矫枉过正,因为数据文件仅仅决定了游戏关卡的布局,即障碍物的去向。另外,它们应该存储在哪个项目目录中?
提前致谢!
在 iPhone 上加载包含游戏关卡地图的静态数据文件的最佳方式是什么?我见过一些使用 XML 文件,但在我的情况下这似乎有点矫枉过正,因为数据文件仅仅决定了游戏关卡的布局,即障碍物的去向。另外,它们应该存储在哪个项目目录中?
提前致谢!
如果您的文件真的是静态的,那么您需要将它们存储在您的应用程序包中(只需将它们添加到您的项目中;Xcode 将在构建您的应用程序时将它们复制到 .app 包中)。如果您需要修改并重新保存它们,可能 ~/Documents 是您最好的选择。
Marc 是正确的,NSDictionary 是最简单的方法,尤其是对于较小的文件。如果您有大量数据,加载时可能会变慢,但这意味着 10 秒或 100 千字节。当您对它的内容感到满意时,还可以考虑将您的字典转换为二进制格式,因为这样在设备上加载速度会更快。
我会将数据放在一个属性列表文件中,您可以将其加载到字典中。
我强烈建议使用作为标准 API 一部分的现有 SQLite 功能。
我发现它是在安装过程中包含数据以及存储用户生成数据的最简单方法。
如果您需要如何执行此操作的示例,请查看http://tetontech.wordpress.com/2008/06/28/iphone-objective-c-sqlite-development/