将现有的sqlite数据库导入到Swift项目中

3
我很久没有为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文件添加到我的项目中,并将其包含在“复制包资源”中。但显然这样做不正确,因为如果正确的话,dbPath不会为空。在项目导航器中选择_myDB.sqlite_并使用文件检查器检查其目标成员资格;它是否是您应用程序的一部分? - matt
你说得对。谢谢。今天真的很长。我在清理时不小心删除了myDB.sqlite文件(因为我没有将它物理复制到我的项目文件夹中),但由于某种原因,Xcode没有将该文件标记为红色(以警告我它已丢失)。我把所有东西都复制回来了,现在它可以工作了。嗯!感谢指出我的愚蠢,现在我需要一些睡眠。 - Pompey Casmilus
1个回答

4
检查你的SQLite数据库的目标成员资格,然后就完成了。

1
谢谢!我为此浪费了很多时间! - Shinichi
这应该是被接受的答案。这是你需要做的几件事情之一,以便访问文件(还包括将资源复制到文档目录中,例如:https://dev59.com/Kq_la4cB1Zd3GeqPtXqe)。 - jaredrada

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接