Swift 3 sqlite/使用数据库?

Posted

技术标签:

【中文标题】Swift 3 sqlite/使用数据库?【英文标题】:Swift 3 sqlite/using a database? 【发布时间】:2016-07-18 03:09:51 【问题描述】:

我对快速编码还很陌生,但我正在开发一个应用程序,它确实需要一个数据库来存储大量数据。我研究了 coredata ,它似乎不是我需要的。使用 sql 语句的完整数据库确实是我正在寻找的。​​p>

网上有很多关于在 ios 中设置 sqlite 数据库的信息,但自从 Swift 3 和 xcode 8 发布以来,情况似乎已经发生了变化。

我不确定如何从项目中实际“连接”到 sqlite 数据库,我看到的所有代码都需要计算机上的数据库的“路径”,但是当应用程序交付时,用户显然无法访问该路径。是否需要在项目中创建 .sqlite 文件?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您肯定需要一些数据库文件,并且该数据库文件具有路径。即使在 iOS 上也是如此。

现在,如果您的应用程序用户可以修改数据库,那么数据库文件很可能存储在 Documents 文件夹中,这是所有 iOS 应用程序都有的特殊文件夹。您在此文件夹中创建一个文件路径并在该路径打开数据库。如果需要,SQLite 将创建一个空数据库。

如果您的应用程序用户不应该修改数据库(例如对于英语词典应用程序),那么数据库很可能是您的应用程序的资源。资源是捆绑在您的应用程序中的文件。你向 NSBundle.main 询问这个资源的路径,并打开一个到它的连接。

您可以在需要支持时使用 GRDB.swift 库:https://github.com/groue/GRDB.swift。它支持 Swift 2.2 / 2.3 / 3.0。

【讨论】:

以上是关于Swift 3 sqlite/使用数据库?的主要内容,如果未能解决你的问题,请参考以下文章

使用 swiftyJSON 和 sqlite.swift 将基于 json 的数据添加到 sqlite 数据库中

swift:sqlite3的使用

Swift中SQLite使用2

使用 GRDB 在 Swift 中操作 SQLite 数据库 | 快读

在 Swift 中复制 Sqlite 数据库无法正常工作

如何使用 swift 在 iOS coredata sqlite 中启用 DELETE MODE