gpt4 book ai didi

ios - iOS 上的 SQLite 使用现有架构

转载 作者:行者123 更新时间:2023-11-29 04:35:43 24 4
gpt4 key购买 nike

我需要使用现有的数据库架构及其中的数据。是否可以将给定 SQLite 文件中的数据提取到 iOS 数据库以使用我要创建的核心数据和模型?如果没有,您有什么建议?我确实需要将现有的数据传输到设备数据库,这样我就可以在我的应用程序中使用它。

谢谢。

最佳答案

如果您事先不知道数据库的结构,我建议不要使用 Core Data。 Apple 设计了 ​​Core Data,以便您预先设置数据结构。然后您可以在应用程序中使用该结构。但是,采用任意 SQLite 表结构并尝试使其适应预设的核心数据结构将是非常困难的。我不会说这是不可能的,但考虑到您必须做到的抽象级别才能使其正常工作,您只需使用 SQLite 就会更加可行。我建议添加某种数据库包装器,例如 FMDB使用 Objective-C(而不是 C 函数)访问数据。这样您就不需要调整 SQLite 文件,而是直接使用该文件(或将其导入到现有的 SQLite 文件中)。

如果您事先了解结构,那么是的,将数据从 SQLite 导入核心数据应该相当容易。您首先需要使用 Apple 的工具在 Core Data 中重新创建该结构。在运行时,您可以从 SQLite 数据库获取信息并将其添加到 Core Data。如果您还没有这样做,请阅读 Apple 的 Core Data Programming Guide了解等式的核心数据方面。我还是推荐FMDB用于访问 SQLite 数据库,因为这将使从 SQLite 获取数据变得更加容易。

我还想指出,如果 SQLite 数据库发生变化(或可能发生变化),您可能仍然可以通过避免使用核心数据来获得更好的服务,具体取决于它变化的频率。原因很简单:为了让 Core Data 适应 SQLite 数据库中的更改,您必须进行更改,然后向您的应用程序发布更新。这可能会导致您的应用程序在很多天(可能是几周)内无法完全同步到 SQLite 数据库,甚至可能导致错误。核心数据对很多事情都很有用,但调整数据结构并不是其中之一。

关于ios - iOS 上的 SQLite 使用现有架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11084837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com