【问题标题】:Combining a datastore with Mapkit将数据存储与 Mapkit 相结合
【发布时间】:2010-01-05 16:03:04
【问题描述】:

对于使用带有 mapkit 的数据存储来提供可按位置查询的位置(餐厅)数据库,是否有人有任何建议?

我想使用核心数据,但将信息导入它本身似乎是一个项目。如果有人对将现有的 sqlite/cvs 文件转换为 coredata sqlite 文件有好的建议,将不胜感激。

老式的 sqlite 比使用核心数据完成任务更好,还是我应该为这项工作创建 Web 服务?

我也希望能够根据地图缩放查询位置。

感谢您对此事有任何建议。

【问题讨论】:

    标签: iphone sqlite core-data mapkit


    【解决方案1】:

    如果你正确地编写了你的​​对象模型,你可以将它指向一个现有的 sqLite 数据库,它会像核心数据首先生成它一样读取它。

    例如,假设您有一个现有的 sqlite 数据库,其中包含 firstName、lastName、phone# 等列。您只需创建一个核心数据模型,其中包含一个具有 firstName、lastName、phone# 等属性的实体。将它们拼写为相同并确保它们具有正确的类型,然后将NSPersistentStoreCoordinator 指向现有数据库。它会很好地阅读它。

    核心数据始终是任何大型数据管理任务的必经之路。一旦你学会了它,一切都会变得如此简单。


    编辑01:

    别管上面的了。我在考虑企业对象。核心数据不会轻易导入大多数现有 SQL。

    相反,我会将 sqlite 导出到 csv,然后使用 cCSVParse 之类的东西转换为 plist。然后,您可以轻松地将其读入数组或字典,并使用它来填充核心数据数据库。

    这对于不依赖于复杂关系的数据库来说很容易。我认为拥有核心数据的未来好处最终将轻松支付转换所花费的几个工时。

    【讨论】:

    • 感谢 TechZen。我试过这样做,但我很确定 Core Data 无法识别它,因为现有的 sqlite db 没有 Core Data 生成的表,并且没有以大写 Z 为前缀。我错过了什么吗?跨度>
    • 感谢 TechZen 的回答。你自己做过吗?我还没有在网上找到一个可行的例子。从 Sqlite -> CSV -> Plist -> Array -> Core Data 开始似乎很疯狂。 Apple 如何期望人们将数据加载到我想知道的程序中?
    • 你可以在企业对象中使用现有的数据库,这是核心数据的演变。我认为他们对 CD 进行了如此优化以提高速度,以至于它可以更有效地使用通用数据库。它专注于应用程序生成的数据。您认为这是相当明显的弱点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2017-03-27
    相关资源
    最近更新 更多