iOS SqLite和Swift。数据库存储在何处

时间:2015-07-27 09:33:36

标签: ios swift sqlite

我对iOS很新。我尝试学习如何使用SqLite创建数据库。我一直在寻找,我可以找到这个教程: www.techotopia.com/index.php/An_Example_SQLite_based_iOS_8_Application_using_Swift_and_FMDB

我可以让它运作但我有一些问题。如果我理解,SqLite数据库是在ViewController.swift中创建的,它们给出的名称为contacts.db,但该文件在哪里?我没有在Project Navigator中看到它,我也没有在文件和文件夹中看到它。这就是问题:SqLite数据库存储在哪里?

这是创建数据库的代码的一部分:

override func viewDidLoad() {
    super.viewDidLoad()

    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())")
        }
    }
}

1 个答案:

答案 0 :(得分:3)

只需在控制台中打印您的路径:

let docsDir = dirPaths[0] as! String

databasePath = docsDir.stringByAppendingPathComponent(
                "contacts.db")

println(databasePath)

它将位于您的CoreSimulator目录中。

在控制台上打印路径后。你可以使用 Go>转到文件夹... 来自 Finder 的命令。

在iOS 7中我们有

的应用程序文件夹
  

图书馆>应用支持> iPhone模拟器

表格iOS 8

  

库>开发商/ CoreSimulator