创建持久性存储更好,还是使用固定文件存储数据更好?
我正在为 iPhone 制作一款简单的体育模拟游戏原型,该游戏将使用 Core 数据。
我面临的最大挑战之一是如何首先将数据放入核心数据中。
第二大挑战是我是否应该使用核心数据的持久存储或使用固定文件(JSON)来存储预先固定的游戏数据。
--
概念
一般概念是玩家可以开始新游戏
或继续
现有游戏。
当他们开始新游戏
时,他们会使用预先固定的数据。 (即,只读数据库。)
当他们继续游戏
时,他们将使用不同的数据库(游戏数据库)。
我不知道如何提供这样的功能。
--
原型
目前,我正在试验这个原型:
PHP Web 应用程序 -> 2.API-> 3.iPhone
充当 CMS 的本地 PHP Web 应用程序。
一个基本 API,可让我以 JSON 格式公开特定数据。
使用 TouchJSON/其他工具将 JSON 读入 Core Data。
我无意将 API 公开/在线(出于各种原因),因此我所描述的方法只是一种单向过程。
这当然会引起问题,因为我需要将数据设为只读。
--
在体育模拟游戏中,您经常会发现他们使用固定文件(.txt、.csv、.dat 等),然后将这些数据读取到内存或数据库中。
因此,使用这个概念我可以:
将 JSON 保存为固定文件并在运行时将它们读入内存/核心数据。
然后,每当玩家开始新游戏时,现有的核心数据存储就会被擦除。
然而,话虽如此,我听说你可以使用持久性存储作为解决这个问题的方法。
因此我正在考虑建立2家持久性商店;
1) 预先固定的只读持久存储
2) 实际的游戏存储(如果您开始新游戏,它会被覆盖)。
但哪个更好呢?
创建 JSON 固定文件以供使用,还是使用 2 个持久存储?
如果我的问题/概念过于复杂,我深表歉意;但如果可能的话,欢迎更好/更简单的解决方案。
I'm prototyping a simple sports sim game for iPhone which will use Core data.
One the biggest challenges I'm facing is how to get the data into Core data in the first place.
The second biggest challenge is whether I should use core data's persistent stores or use fixed files (JSON) for pre-fixed game data.
--
Concept
The general concept is that a player can start a new game
or continue
an existing one.
When they start new game
they would use pre-fixed data. (IE. A database which is read-only.)
When they continue game
they would use a different database (the game database).
I am not sure how to deliver such a feature.
--
Prototype
Currently, I am experimenting with this prototype:
PHP Web App -> 2. API -> 3. iPhone
A local PHP web app which acts as a CMS.
A basic API which lets me expose specific data in a JSON format.
Read the JSON into Core Data using TouchJSON/other tools.
I have no intention of making the API public/online (for various reasons), so the method I have described is a only meant to ever be a one-way process.
This will of course cause a problem because I need to make the data read-only.
--
In sports sim games you will often find them using fixed files (.txt, .csv, .dat, etc) and then they read this data into memory or a database.
Therefore, using this concept I could:
Save the JSON as fixed files and read them at run-time into memory/core data.
And then whenever the player starts a new game, the existing core data store will simply be wiped.
However, having said that I've heard that you can use persistent stores as a method to overcome this problem.
Therefore I was thinking of setting up 2 persistent stores;
1) A pre-fixed read-only persistent store
2) The actual game store (which gets overwritten if you start a new game).
But which is better?
Creating JSON fixed files for consumption, or using 2 persistent stores?
I apologize if my question/concept is overly complex; but would welcome better/simpler solutions where possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您可以将 Core Data 用于将在其上存储数据的应用程序,并且数据库在启动时为空,但如果您需要数据存储预先填充数据,最好从固定数据(如 sqlite)加载它或 xml 文件。
I think you can use Core Data for applications that is going to store data on it and the database is empty when it starts but if you needed you data store to be pre-populated with data it is better to load it from fixed data like sqlite or xml files.