创建持久存储或使用固定文件进行数据更好吗?

时间:2011-05-16 19:44:37

标签: iphone json core-data persistent-storage

我正在为iPhone制作一个简单的运动模拟游戏原型,它将使用核心数据。

我面临的最大挑战之一是如何首先将数据导入Core数据。

第二大挑战是我是应该使用核心数据的持久存储还是使用固定文件(JSON)来预先修复游戏数据。

-

概念

一般概念是玩家可以start a new gamecontinue现有玩家。

当他们start new game时,他们会使用预先固定的数据。 (IE。一个只读的数据库。)

当他们continue game时,他们将使用不同的数据库(游戏数据库)。

我不确定如何提供这样的功能。

-

原型

目前,我正在试验这个原型:

  

PHP Web App - > 2. API - > 3. iPhone

  1. 本地PHP网络应用程序,充当CMS。

  2. 一个基本API,它允许我以JSON格式公开特定数据。

  3. 使用TouchJSON /其他工具将JSON读入核心数据。

  4. 我无意将API公开/在线(出于各种原因),因此我所描述的方法只是一个单向过程。

    这当然会引起问题,因为我需要将数据设为只读。

    -

    在运动模拟游戏中,您经常会发现它们使用固定文件(.txt,.csv,.dat等),然后将这些数据读入内存或数据库。

    因此,我可以使用这个概念:

    将JSON保存为固定文件,并在运行时将其读取到内存/核心数据中。

    然后,只要玩家开始新游戏,现有核心数据存储就会被擦除。


    然而,说过我听说你可以使用持久存储来解决这个问题。

    因此我考虑设置2个持久存储;

    1)预先固定的只读持久性存储

    2)实际的游戏商店(如果你开始新游戏就会被覆盖)。


    但哪个更好?

    创建供使用的JSON固定文件,还是使用2个持久存储?

    如果我的问题/概念过于复杂,我道歉;但在可能的情况下欢迎更好/更简单的解决方案。

1 个答案:

答案 0 :(得分:1)

我认为您可以将Core Data用于将数据存储在其上的应用程序,并且数据库在启动时是空的,但如果您需要数据存储预先填充数据,最好从固定数据加载它像sqlite或xml文件这样的数据。