我是Swift的新手,今天我遵循了教程here(SQLite入门)。 因此,我的代码基本相同:
import Foundation
import UIKit
import Alamofire
import SwiftyJSON
import SQLite.Swift
import PlaygroundSupport
enum SQLiteError: Error {
case OpenDatabase(message: String)
case Prepare(message: String)
case Step(message: String)
case Bind(message: String)
}
class SQLiteDatabase {
fileprivate let dbPointer: OpaquePointer?
fileprivate init(dbPointer: OpaquePointer?) {
self.dbPointer = dbPointer
}
deinit {
sqlite3_close(dbPointer)
}
static func open(path: String) throws -> SQLiteDatabase {
var db: OpaquePointer? = nil
// 1
if sqlite3_open(path, &db) == SQLITE_OK {
// 2
return SQLiteDatabase(dbPointer: db)
} else {
// 3
defer {
if db != nil {
sqlite3_close(db)
}
}
if let errorPointer = sqlite3_errmsg(db) {
let message = String.init(cString: errorPointer)
throw SQLiteError.OpenDatabase(message: message)
} else {
throw SQLiteError.OpenDatabase(message: "No error message provided from sqlite.")
}
}
}
}
let db: SQLiteDatabase
do {
db = try SQLiteDatabase.open(path: "")
print("Successfully opened connection to database.")
} catch SQLiteError.OpenDatabase(_) {
print("Unable to open database. Verify that you created the directory described in the Getting Started section.")
PlaygroundPage.current.finishExecution()
}
问题是Swift确认我已经“已成功打开与数据库的连接”。但是关键是我从未为数据库创建文件...而且我不知道在哪里可以找到实际文件。
数据库路径应为racine,因为变量设置为默认文件夹(“”)
提前感谢您的帮助!
答案 0 :(得分:0)
默认文件夹很可能是Xcode创建的文件夹,类似/Users/"your username"/Library/Developer/Xcode/DerivedData/<Project name>...
要进行检查,您可以在打开数据库的位置添加以下内容
let current = FileManager.default.currentDirectoryPath
print(current)
如果您查看本教程,会发现他们确实使用了特定的文件夹。