【发布时间】: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。