【问题标题】:Importing existing sqlite db into Swift project将现有的 sqlite db 导入 Swift 项目
【发布时间】:2015-06-12 21:39:44
【问题描述】:

好久没开发IOS了,请多多包涵。在 XCode 6.3 中首次使用 Swift 语言。 我有一个预先存在的 sqlite 数据库 myDB.sqlite,我想将它导入到我的项目中。

我已经添加了 sqlite 框架,添加了 FMDB 和桥接头文件,然后将 myDB.sqlite 文件添加到我的项目中。它也包含在“复制捆绑资源”中。

当应用程序在模拟器中首次运行时,我只是尝试访问我的 bundle 目录中的 myDB.sqlite 以将其复制到我的 Documents 目录中。但是它一直说找不到文件。

在我的 AppDelegate.swift 中:

let dbPath = NSBundle.mainBundle().pathForResource("myDB", ofType:"sqlite")

它一直告诉我 dbPath 为零。

【问题讨论】:

  • "将 myDB.sqlite 文件添加到我的项目中。它也包含在 Copy Bundle Resources 中" 但显然这没有正确完成,因为如果是这样,dbPath 就不会是 nil。在 Project navigator 中选择 myDB.sqlite 并使用 File 检查器检查其 Target 成员资格;它是您应用目标的一部分吗?
  • 你是对的。谢谢你。这是非常漫长的一天。我在进行一些清理时不小心删除了 myDB.sqlite 文件(因为我没有将它物理复制到我的项目文件夹中),并且由于某种原因,Xcode 没有将该文件标记为红色(警告我它丢失了)。我把所有的东西都复制回来了,现在可以了。呸!感谢您指出我的愚蠢,现在我需要一些 zzzz。

标签: sqlite swift


【解决方案1】:

检查您的 SQLite 数据库的目标成员资格并完成:

【讨论】:

  • 谢谢!我为此浪费了很多时间!
  • 这应该是公认的答案。它是访问文件所需要做的几件事之一(以及可能将资源复制到 Documents 目录中,如:stackoverflow.com/questions/53073791/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-14
  • 1970-01-01
  • 2016-12-06
  • 2017-06-25
  • 2018-06-25
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多