【发布时间】:2015-04-27 09:14:42
【问题描述】:
我正在关注在 Swift 上使用 SQLite 的教程,一切正常(代码如下)。我对数据库本身感到困惑。如果专家能向我澄清以下问题,我将不胜感激:
1- 我希望数据库成为离线使用的应用程序的一部分 我的意思是用户将下载包含数据库的应用程序,我应该在哪里复制数据库本身?
2- 我试图将数据库复制到支持文件夹,但是当应用程序在我的 iphone 中运行时,数据库没有复制到我的 iphone。而不是我必须在 iphone
3 中构建一个新数据库 - 数据库会很大,所以我不想在应用程序中构建它(我计划使用 Firefox SQLite 管理器从 excel 复制数据,替代方案非常欢迎复制)。
任何提示都非常受欢迎。提前致谢。
let filemgr = NSFileManager.defaultManager()
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let docsDir = dirPaths [0] as! String
databasePath = docsDir.stringByAppendingPathComponent("contacts.db")
if !filemgr.fileExistsAtPath(databasePath as String) {
let contactDB = FMDatabase (path: databasePath as String)
if contactDB == nil {println("Error: \(contactDB.lastErrorMessage())")
}
if contactDB.open() {
let sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)"
if !contactDB.executeStatements(sql_stmt){
println("Error: \(contactDB.lastErrorMessage())")
}
contactDB.close()
}else {
println("Error: \(contactDB.lastErrorMessage())")
}
}
}
【问题讨论】:
标签: database xcode swift sqlite fmdb