我正在编写一个包含校园内所有建筑物和桌面视图的应用程序。当您单击建筑物时,它将检索其上的信息,例如经度,纬度,建筑物名称及其图像。
我的问题是您认为存储此数据的最佳方式是什么?我应该使用sqlite3数据库还是核心数据? Sqlite3就是我现在所倾向的,我对SQL有点熟悉。任何建议将不胜感激。
答案 0 :(得分:5)
CoreData使用SQlite。如果你正在学习,这将是你最好的选择,因为所有与苹果相关的东西(iphone,ipad,ipod touch和MacOS X都支持它)。
有很多关于如何使用CoreData的书籍和示例。此外,CoreData可以很好地处理数据库的更新。
要使用CoreData,您不需要编写任何SQL行。这一切都是由API完成的。
答案 1 :(得分:-2)
好的,所以我想出了一个使用Core Data做到这一点的好方法。我使用实体及其属性创建了Core Data模型。实体及其属性对应于表及其列。我跑了它,它创建了一个空的sqlite文件。您可以在以下位置找到此文件:
/ Users / [name] / Library / Application Support / iPhone Simulator / 5.0 / Applications / [some long HEX number] / Documents
从那里,您可以通过键入以下命令打开并查看sqlite文件及其内容:
> sqlite3 [name of file].sqlite
> .schema
.schema显示表和列。您会注意到,当Core Data创建一个sqlite数据库时,它将调用表Z [entity]和列Z [attribute],其中entity是您实体的名称,attribute是您的属性的名称。因此,表和所有属性都在它之前有一个Z.
然后我编写了一个脚本来收集所有信息并将其存储在这个数据库中,然后我将它放回到我发现它的目录中并且它有效!希望这可以帮助遇到同样问题的人。
我绝对建议使用Core Data而不是SQLite,核心数据更容易使用。
更新:我应该提一下,我用它来初始化数据库,并在初始化后不对它进行任何更改。