我正在寻找一些结构化数据的存储格式。这是几个表/ 2-dim 数组。然后我想在 OS X 上输入数据并在 iOS 应用程序中使用它。这将是一个非常简单的学习应用程序(对我自己而言)。
稍后我希望能够在 iOS 上编辑表格。
我可能想稍后将它迁移到数据库,但现在最重要的是它尽可能简单(因为我对这件事的经验很少)。
如果你不能推荐任何东西,我会用纯文本文件来做。
但是,是否有一些简单的东西可以从一开始就提供优于纯文本的好处?
XML 简单易懂。以后也可以轻松导入数据库、excel 和许多其他应用程序。
使用属性列表(plist)。他们完全是本地人。您需要做的就是将键值对填充到一个NSDictionary
实例中,然后调用-writeToFile:atomically:
or -writeToURL:atomically:
。字典将作为 plist 写入磁盘,然后您可以使用[ NSDictionary dictionaryWithContentsOfFile: plistPath ];
如果您想将 plist 迁移到数据库,您需要做的就是从磁盘中读取 plist,并对键值对进行快速枚举,例如:
NSDictionary *d = [ NSDictionary dictionaryWithContentsOfFile: plistPath ];
for ( NSString *key in d ) {
[ myDBObject insertValue: [ d objectForKey: key ] forKey: key ];
}
Xml 很酷,但远非简单的恕我直言。json 很酷,但在纯文件中编辑可能会很棘手。我建议您处理结构化文本,例如
key:value<cr>
一个例子:
data00: the value for entry data00
foo: the value for entry foo
bar: the value for entry bar
在目标 C(或任何其他语言)中解析它不会是太大的负担,并且肯定有网络上可用的库。
取决于您要用于应用程序的语言 javascript: json java: xml, csv ruby: yaml, json, xml, csv .. CSV 和 XML 是所有语言中通常使用的格式,CSV 最简单,您可以找到工具就像 CSV 和 Excell 的数据库管理器一样,它可以立即与 CSV 一起工作。几乎所有处理数据范导出和导入 CSV 的程序。
用于某些目的的固定宽度也很简单。所有这些本质上都是文本文件。
现在有更强大的数据库解决方案也很容易设置,比如 SQLite 和一些 NoSql 产品(CouchDb、Mongo 等),虽然你需要学习更多,但从长远来看会更好。
在最近的浏览器中,您有存储可能性。